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

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

1. Преобразование из десятичной системы счисления в двоичную (преобразование из 10 в 2).

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

Пример перевода десятичного числа 12 в двоичную систему счисления приведен на рис.1.15.

 

 


Рис.1.15. Преобразование числа 12 из десятичной системы счисления в двоичную

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

Пример перевода десятичного числа 0,25 в двоичную систему счисления приведен на рис.1.16.

В результате получаем двоичное число 01, т.е. 0,2510 = 0.012.

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

   25    При первом умножении 0,25 на 2 получаем 50 в дробной    х 2    части и 0 в целой части, при втором умножении получаем     0 50   00 в дробной части и 1 в целой части (целые выделены           х 2      жирным). Выписываем целые части сверху вниз: 0 1. 1 00                                                                                                      

 


Рис.1.16. Перевод числа 0,25 в двоичную систему счисления

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

a1*2n-1+a2*2n-2+…+an-1*21+an*20 , an+1*2-1+an+2*2-2+… [1]

где: а – цифра двоичного числа (0 или 1),

   n - количество двоичных разрядов в целой части числа.

Пример перевода двоичного числа 1010 (здесь n=4) в десятичную систему (используем первую часть выражения [1] – до запятой):

10102 = 1*23 + 0*22 + 1*21 + 0*20 = 8+0+2+0 = 1010

Пример перевода дробной части двоичного числа 0.01 в десятичную систему счисления (используем вторую часть выражения [1] – после запятой):

01 = 0*2-1 + 1*2-2 = 0 + ¼ = 0,25. Получаем 0.012 = 0,2510.

Для перевода десятичных чисел в любую другую систему счисления используется то же правило, что и в пункте 1 данного параграфа, только последовательно необходимо делить на основание этой другой системы: в восьмеричную – на число 8, в шестнадцатеричную – на число 16. Напомним, что в восьмеричной системе для записи используются цифры от 0 до 7, а в шестнадцатеричной – цифры от 0 до 9 и буквы латинского алфавита A, B, C, D, E, F (букве А соответствует десятичное число 10, букве В – число 11 и т.д.). Так, например, одно и тоже десятичное число 91 будет представлено в различных системах счисления (двоичной, четверичной, восьмеричной, десятичной и шестнадцатеричной) следующим образом:

10110112 = 11234 = 1338  = 9110  = 5B16

Обратный перевод чисел из некоторой системы счисления в десятичную выполняется также в соответствии с правилом [1], только в выражении записывается не множитель 2, а основание данной системы счисления (из четверичной – 4, из восьмеричной – 8 и т.д.).

Для быстрого перевода чисел рекомендуется использовать таблицу 1.2 (для чисел от 0 до 15) или компьютерную программу Калькулятор (в режиме Инженерный) либо воспользоваться функциями преобразования пакета Excel.

Таблица 1.2

Десятичн. число 0 1 2 3 4 5 6 7
Двоичное число 0 1 10 11 100 101 110 111
Шестнадц. число 0 1 2 3 4 5 6 7

Продолжение таблицы 1.2

8 9 10 11 12 13 14 15
1000 1001 1010 1011 1100 1101 1110 1111
8 9 A B C D E F

 

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

Пример. Преобразовать число 3С12А в двоичную систему и обратно. Записываем каждую цифру четырьмя двоичными разрядами: 0011 1100 0001 0010 1010. Отбрасываем левые незначащие нули и получаем двоичное число 111100000100101010. Обратно: отделяем справа налево по 4 разряда (левые два разряда 11 – неполная тетрада) и заменяем их цифрами шестнадцатеричной системы – 3С12А.

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




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: