Перевод целых чисел из десятичной системы в двоичную или шестнадцатеричную
Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком (нацело) на q, записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q, и т.д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения.
Теперь покажем как выполняется преобразование на примере. Переведем число 75 из десятичной системы в двоичную и шестнадцатеричную, сначала в двоичную:
75:2 = 37, остаток 1 это разряд весом 1
37:2 = 18, остаток 1 это разряд весом 2
18:2 = 9, остаток 0 это разряд весом 4
9:2 = 4, остаток 1 это разряд весом 8
4:2 = 2, остаток 0 это разряд весом 16
2:2 = 1, остаток 0 это разряд весом 32
1:2 = 0, остаток 1 это разряд весом 64 (в нашем случае старший разряд)
Деление заканчивается в тот момент, когда очередной результат деления даст ноль. Остатки, от деления, выписанные в соответствии с весами разрядов, дадут искомое число. Получаем:
64 | 32 | 16 | 8 | 4 | 2 | 1 | |
b |
Теперь сделаем преобразование этого же числа в шестнадцатеричное представление:
75:16 = 4, остаток 11 это разряд весом 1 (11 это Bh)
4:16 = 0, остаток 4 это разряд весом 16
Остатки представленные в шестнадцатеричном виде с учетом веса разряда и дают искомое шестнадцатеричное число в шестнадцатеричном представлении – 4Bh.
Как видно, такое преобразование намного более компактно.
Теперь покажем как осуществить преобразование шестнадцатеричных чисел в двоичную систему и обратно.
Перевод чисел из двоичной системы в шестнадцатеричную и из шестнадцатеричной системы в двоичную
Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады и каждую такую группу заменить соответствующей шестнадцатеричной цифрой. Покажем это преобразование на примере числа 1000. (Как мы уже показали в двоичном виде это число запишется как 11 1110 1000b, для наглядности тетрады разделены пробелами). Разбиение начинаем с младших разрядов (справа)
0011 | 1110 | 1000 | b |
E | h |
Обратный перевод шестнадцатеричных чисел в двоичную систему также очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной тетрадой (четверкой цифр). Преобразование будет выглядеть так:
3 | E | 8 | h |
b |
На практике при преобразовании десятичного числа в двоичную форму бывает удобно сначала преобразовать это число в шестнадцатеричную систему, а затем сделать преобразование из шестнадцатеричной системы в двоичную.