Перевод целых чисел из десятичной системы в двоичную или шестнадцатеричную

Для перевода целого десятичного числа 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

На практике при преобразовании десятичного числа в двоичную форму бывает удобно сначала преобразовать это число в шестнадцатеричную систему, а затем сделать преобразование из шестнадцатеричной системы в двоичную.