Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно
Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2n), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 21), восьмеричной (q = 23) и шестнадцатеричной (q = 24) системами счисления.
Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение:
2 = 2i . Так как 2 = 21, то i = 1 бит.
Каждый разряд двоичного числа содержит 1 бит информации.
Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение:
8 = 2i . Так как 8 = 23, то i = 3 бита.
Каждый разряд восьмеричного числа содержит 3 бита информации.
Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями.
Переведем таким способом двоичное число 1010012 в восьмеричное:
101 0012 => 1 × 22 + 0 × 21 + 1 × 20 0 × 22 + 0 × 21 + 1 × 20 => 518.
Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:
Двоичные триады |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
Восьмеричные цифры |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа.
Например, преобразуем дробное двоичное число А2 = 0,1101012 в восьмеричную систему счисления:
Двоичные триады |
110 |
101 |
Восьмеричные цифры |
6 |
5 |
Получаем: А8 = 0,658.
Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:
16 = 2i . Так как 16 = 24, то i = 4 бита.
Каждый разряд шестнадцатеричного числа содержит 4 бита информации.
Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.
Затем надо преобразовать каждую группу в шестнадцате-ричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.
Переведем целое двоичное число А2 = 1010012 в шестнадцатеричное:
Двоичные тетрады |
0010 |
1001 |
Шестнадцатеричные цифры |
2 |
9 |
В результате имеем: А16 = 2916.
Переведем дробное двоичное число А2 =0,1101012 в шестнадцатеричную систему счисления:
Двоичные тетрады |
1101 |
0100 |
Шестнадцатеричные цифры |
D |
4 |
Получаем: А16 = 0,D416.
Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей.
Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную. Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных цифр (триаду), а при преобразовании шестнадцатеричного числа - в группу из четырех цифр (тетраду).
Например, преобразуем дробное восьмеричное число А8 = 0,478 в двоичную систему счисления:
Восьмеричные цифры |
4 |
7 |
Двоичные триады |
100 |
111 |
Получаем: А2 = 0,1001112 .
Переведем целое шестнадцатеричное число А16 = АВ16 в двоичную систему счисления:
Шестнадцатеричные цифры |
А |
В |
Двоичные тетрады |
1010 |
1011 |
В результате имеем: А2 = 101010112
3адания
1.16. Составить таблицу соответствия двоичных тетрад и шестнадцатеричных цифр.
1.17. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: 11112, 10101012 .
1.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,011112, 0,101010112 .
1.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 11,012, 110,1012 .
1.20. Перевести в двоичную систему счисления следующие числа: 46,278, ЕF,1216 .
1.21. Сравнить числа, выраженные в различных системах счисления: 11012 и D16; 0,111112 и 0,228; 35,638 и 16,С16.
|