Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно
Перевод чисел между системами счисления, основания которых являются степенями числа 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. 
  
       |