Перевод чисел в различных системах счисления

Для перевода числа из десятичной системы счисления в систему счисления с другим основанием поступают следующим образом:

1) Для перевода целой части числа его делят нацело на основание системы, фиксируя остаток. Если неполное частное не равно нулю продолжают делить его нацело. Если равно нулю остатки записываются в обратном порядке.

2) Для перевода дробной части числа ее умножают на основание системы счисления, фиксируя при этом целые части полученных произведений. Целые части в дальнейшем умножении не участвуют. Умножение производится для получения 0 в дробной части произведения или до заданной точности вычисления.

3) Ответ записывают в виде сложения переведенной целой и переведенной дробной части числа.

Пример: перевод чисел из десятичной системы счисления в двоичную систему счисления.

Перевести число 75,375 в двоичную систему счисления.

а) переведем в двоичную систему целую часть - 75

75 : 2 = 37 ( 1 )

37 : 2 = 18 ( 1 )

18 : 2 = 9 ( 0 )

9 : 2 = 4 ( 1 )

4 : 2 = 2 ( 0 )

2 : 2 = 1 ( 0 )

1 : 2 = 0 ( 1 )

Закончив деление, запишем остатки в обратном порядке, и получим искомый результат:

75=10010112

б) переведем в двоичную систему дробную часть - 0,375

0,375

2

0,750

2

1,500

2

1,000

Выделенные числа запишем в естественном порядке и получим дробное число в двоичной системе счисления:

0,375 = 0,0112

в) получив целую и дробную части числа в двоичном виде (75=10010112 и 0,375 = 0,0112 ) можем сделать вывод:

75,375=75+0,375 = 10010112+0,0112=1001011,0112, значит 75,375=1001011,0112

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

Представить десятичное число 157,23 в шестнадцатеричной системе счисления. Целая часть числа равна 157, дробная - 0,23.

а) переведем в двоичную систему целую часть - 157

157 : 16 = 9 (13 или D)

9 : 16 = 0 ( 9 )

Закончив деление, запишем остатки в обратном порядке, и получим искомый результат:

157=9D 16

а) переведем в двоичную систему дробную часть - 0,23.

Результат умножения 0,23 на 16 равен 3,68. Целая часть этого числа равна 3, значит первый коэффициент дробной части равен 3. Дробная часть равна 0,68. Снова умножим ее на основание системы: 0,68*16=10,88. Целая часть равна 10 или в шестнадцатеричной системе А. Дробная часть равна 0,88, она опять умножается на 16 и так далее.

Выпишем весь процесс:

0,23 * 16 = 3,68 ( 3 )

0,68 * 16 = 10,88 ( А )

0,88 * 16 = 14,08 ( Е )

0,08 * 16 = 1,28 ( 1 )

0,28 * 16 = 4,48 ( 4 )

0,48 * 16 = 7,68 ( 7 )

0,68 * 16 = 10,88 ( А )

0,88 * 16 = 14,08 ( Е )

0,08 * 16 = 1,28 ( 1 )

0,28 * 16 = 4,48 ( 4 )

0,48 * 16 = 7,68 ( 7 )

0,68 * 16 = 10,88 ( А )

0,88 * 16 = 14,08 ( Е )

Замечаем, что последовательность чисел 0,68; 0,88; 0,08; 0,28; 0,48 повторилась уже 2 раза и начинается в третий раз. Получается бесконечная шестнадцатеричная дробь в которой период (бесконечно повторяемая последовательность цифр) заключен в скобки:

157,23=9D,3(АЕ147)16

Для перевода числа в десятичную систему счисления из системы счисления с другим основанием каждый коэффициент переводимого числа умножается на основание системы в степени соответствующей этому коэффициенту и полученные результаты складываются.

Пример: перевод чисел из двоичной системы счисления в десятичную систему счисления

Перевести число 1001011,0112 в десятичную систему счисления

1001011,0112 = 1*26+0*25+0*24+1*23+0*22+1*21+1*20+0*2-1+1*2-2+1*2-3 =64+8+2+1+0,25+0,125=75,375

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

23 = 8 0, 1, 2, 3, 4, 5, 6, 7.

Для перевода из двоичной системы счисления в восьмеричную необходимо разбить данное двоичное число вправо и влево от запятой на триада ( три цифры ) и представить каждую триаду соответствующим восьмеричным кодом. При невозможности разбиения на триады допускается добавление нулей слева в целой записи числа и справа в дробной части числа. Для обратного перевода каждую цифру восьмеричного числа представляют соответствующей триадой двоичного кода.

Десятичная система счисления Двоичная система счисления Восьмеричная система счисления Шестнадцатеричная система счисления
Триады (0-7) Тетрады (0-15)
 
 
  A
  B
  C
  D
  E
  F

Пример: перевод чисел из двоичной системы счисления в восьмеричную систему счисления.

Переведем число 1001011,0112 в восьмеричную систему счисления. Разобьем данное число на триады, приписав слева недостающие нули:

001 001 011 , 011

1 1 3 , 3

и заменим каждую триаду соответствующим восьмеричным кодом (см. таблицу). Можем сделать вывод:

1001011,0112 = 113,38

Пример: перевод чисел из восьмеричной системы счисления в двоичную систему счисления.

Переведем число 347,258 в двоичную систему счисления. Каждую цифру восьмеричного числа заменим соответствующей триадой (см. таблицу).

3 4 7 , 2 5

011 100 111 , 010 101

Запишем ответ, удалив нули слева в записи числа:

347,258 = 11100111,0101012

Восьмеричная система компактнее двоичной и с более простым переводом чисел, однако, современные требования к ЭВМ заставили создавать шестнадцатеричную систему счисления.

24 = 16 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Правило перевода из двоичной системы счисления в шестнадцатеричную: разбить двоичное число вправо и влево от запятой на тетрады( по 4 цифры ) и представить каждую тетраду соответствующим шестнадцатеричным кодом. При невозможности разбиения на тетрады допускается добавление нулей слева в целой записи числа и справа в дробной части числа. Для обратного перевода каждую цифру шестнадцатеричного числа представляют тетрадой двоичного кода.

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

Переведем число 1001011,0112 в шестнадцатеричную систему счисления. Разобьем данное число на тетрады, приписав слева в целой части, и справа в дробной части недостающие нули:

0100 1011, 0110

4 В , 6

и заменим каждую тетраду соответствующим шестнадцатеричным кодом (см. таблицу). Можем сделать вывод:

1001011,0112 = 4В,616

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

Переведем число А4F,C516 в двоичную систему счисления. Каждую цифру шестнадцатеричного числа заменим соответствующей тетрадой (см. таблицу).

A 4 F , C 5

1010 0100 1111 , 1100 0101

Запишем ответ, удалив нули слева в записи числа:

A4F,C516 = 101001001111,110001012

Наши рекомендации