Всех приветствую!
Постарался изложить материал, для тех кто не знаком с системами счисления очень кратко и без лишней воды.
Дабы человек мог конкретно сконцентрироваться на интересующем его материале, надеюсь такой стиль изложения кому-то поможет.
Прежде всего небольшой ликбез, в таблице представлены числа из разных систем счисления и их эквивалент. Также сюда можно заглядывать во время чтения статьи.
Десятичная система счисления
Десятичная Шестнадцатиричная Двоичная четырех разрядная 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111
Вначале разберем перевод из десятичной в шестнадцатиричную и двоичную. Чтобы перевести в двоичную нужно делить число на основание системы счисления и остаток от деления записывать в результат в обратном порядке. Так как у нас двоичная система счисления числа от 0 до 1, поэтому делить нужно на 2.
Имея число 117, нужно выполнить несколько шагов:
Записываем в результат в обратном порядке(снизу вверх в данном случае) и получаем число: 1110101.Код (Text):
117 / 2 = 1 58 / 2 = 0 29 / 2 = 1 14 / 2 = 0 7 / 2 = 1 3 / 2 = 1 1 / 2 = 1
Преобразование десятичного числа в шестнадцатиричное число. Тут принцип такой же, нужно поделить десятичное число на основание системы счисления, остаток от деления записывать в результат в обратном порядке, шестнадцатиричная система счисления это цифры от 0 до 9 и латинские буквы - ABCDEF, в итоге имеем 16 символов.
Преобразуем например число 1024:
Итого получаем число: 400 в шестнадцатиричной системе счисления.Код (Text):
1024 / 16 = 0 64 / 16 = 0 4 / 16 = 4
Двоичная система счисления
Перевод из двоичной в десятичную. Нам нужно каждый бит умножить на основание системы счисления и возвести в степень которая будет соответствовать позиции цифры справа налево и отнять 1, далее складывать со следующей преобразованной цифрой двоичного числа. Например у нас первая цифра у числа 10101111 это 1, позиция у неё справа налево 8-я - 1 = 7-я.
Поэтому запись будет такая: 1 * 2 ^ (8 - 1)
Имеем двоичное число 10101111, преобразовываем:
128 + 0 + 32 + 0 + 8 + 4 + 2 + 0 = 174, нули можно в процессе сложения отбрасывать.Код (Text):
1 * 2 ^ 7 = 128 0 * 2 ^ 6 = 0 1 * 2 ^ 5 = 32 0 * 2 ^ 4 = 0 1 * 2 ^ 3 = 8 1 * 2 ^ 2 = 4 1 * 2 ^ 1 = 2 0 * 2 ^ 0 = 0
Преобразование из двоичной в шестнадцатиричную.
Тут все просто, каждое четырех разрядное двоичное число соответствует одной шестнадцатиричной цифре.
Например четырех разрядное двоичное число 1111 в десятичной это - 15 в шестнадцатиричной это - F.
Преобразование и запись ведется строго справа налево.
Есть число 10101111:
Поэтому двоичное число 10101111 после преобразования в шестнадцатиричную: AF.Код (Text):
1111 = F 1010 = A
Шестнадцатиричная система счисления
Можно начать с простого преобразования в двоичную систему, если вспомнить, то одна шестнадцаиричная цифра соответствует четырех разрядному двоичному числу.
Дано шестнадцатиричное число FAE:
Итого получилось: 111110101110, все очень просто.Код (Text):
F = 1111 A = 1010 E = 1110
Из шестнадцатиричной в десятичную перевод, по уже знакомому принципу, умножаем на систему счисления и возводим в степень позиции цифры справа налево минус 1, при этом каждая цифра должна быть в десятичной системе счисления во время мат. операции.
Есть шестнадцатиричное число A10C:
Считаем результат суммирования - 40960 + 256 + 0 + 12 = 41228Код (Text):
10 * 16 ^ 3 = 40960 1 * 16 ^ 2 = 256 0 * 16 ^ 1 = 0 12 * 16 ^ 0 = 12
Преобразование чисел в указанную систему счисления
Дата публикации 10 мар 2017
| Редактировалось 10 янв 2018