Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q=2n), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q=21), восьмеричной (q=23) и шестнадцатеричной (q = 24) системами счисления.
Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, т.е. в каждом разряде числа возможны два варианта записи. Решаем показательное уравнение:
2 = 2I, т.к. 2 = 21, то I = 1 бит.
Каждый разряд двоичного числа содержит 1 бит.
Для записи восьмеричных чисел используются восемь цифр, т.е. в каждом разряде числа возможны восемь вариантов записи. Решаем показательное уравнение:
8 = 2I, т.к. 8 = 23, то I = 3 бит.
Каждый разряд восьмеричного числа содержит 3 бита.
Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней левой группе окажется меньше, чем три разряда, то необходимо ее дополнить слева нулями.
|
|
Переведем таким способом двоичное число 1010012 в восьмеричное:
101 0012 =1×25+0×24+1×23+0×22 +0×21+1×20 =518.
Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры.
Двоичные триады | ||||||||
Восьмеричные цифры |
Для перевода дробного двоичного числа в восьмеричное необходимо разбить его на триады слева направо и, если в последней правой группе окажется меньше разрядов, дополнить ее справа нулями. Далее, необходимо триады заменить на восьмеричные числа.
Например, преобразуем дробное двоичное число А2 = = 0,1101012 в восьмеричную систему счисления:
Двоичные триады | ||
Восьмеричные цифры |
Получаем А8 = 0,658.
Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, т.е. в каждом разряде числа возможны шестнадцать вариантов записи. Решаем показательное уравнение:
16 = 2I, т.к. 16 = 24, то I = 4 бит.
Каждый разряд шестнадцатеричного числа содержит 4 бита.
Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше разрядов, дополнить ее слева нулями. Для перевода дробного двоичного числа в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше, чем четыре разряда, то необходимо ее дополнить справа нулями.
|
|
Затем необходимо преобразовать каждую группу в шестнадцатеричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.
Переведем целое двоичное число А2 = 1010012 в шестнадцатеричное:
Двоичные тетрады | ||
Шестнадцатеричные цифры |
В результате имеем А16 = 2916.
Переведем дробное двоичное число А2 = 0,1101012 в шестнадцатеричную систему счисления:
Двоичные тетрады | ||
Шестнадцатеричные цифры | 4 П |
Получаем А16 = 0,D416.
Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей.
Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную. Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных чисел. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных разрядов (триаду), а при преобразовании шестнадцатеричного числа - в группу из четырех разрядов (тетраду).
Например, преобразуем дробное восьмеричное число А8 = 0,478 в двоичную систему счисления:
Восьмеричные цифры | ||
Двоичные триады |
Получаем А2 = 0,1001112.
Переведем целое шестнадцатеричное число А16 = AB16 двоичную систему счисления:
Шестнадцатеричные цифры | А | В |
Двоичные тетрады |