Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Выполним перевод в десятичную систему счисления вот так:
0∙87+0∙86+1∙85+0∙84+0∙83+1∙82+1∙81+1∙80+0∙8-1+1∙8-2+0∙8-3+1∙8-4+0∙8-5+1∙8-6+0∙8-7+0∙8-8 = 0∙2097152+0∙262144+1∙32768+0∙4096+0∙512+1∙64+1∙8+1∙1+0∙0.125+1∙0.015625+0∙0.001953125+1∙0.000244140625+0∙3.0517578125E-5+1∙3.814697265625E-6+0∙4.7683715820312E-7+0∙5.9604644775391E-8 = 0+0+32768+0+0+64+8+1+0+0.015625+0+0.000244140625+0+3.814697265625E-6+0+0 = 32841.01587295532226610
Получилось: 00100111.010101008 =32841.01587295532226610
Переведем число 32841.01587295532226610 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 32841 | 16 | | | |
| -32832 | 2052 | 16 | | |
| 9 | -2048 | 128 | 16 | |
| 4 | -128 | 8 | |
| | 0 | | |
 |
Дробная часть числа находится умножением на основание новой системы счисления:
 |
| 0. | 015872955322266*16 |
| 0 | .254*16 |
| 4 | .063*16 |
| 1 | .016*16 |
| 0 | .25*16 |
| 4 | .0*16 |
| 6 | .0*16 |
В результате преобразования получилось:
32841.01587295532226610 = 8049.04104616
Ответ: 00100111.010101008 = 8049.04104616
Теперь выполним перевод через десятичную систему счисления.
Выполним прямой перевод из восьмеричной в двоичную вот так:
00100111.010101008 = 0 0 1 0 0 1 1 1. 0 1 0 1 0 1 0 0 = 0(=000) 0(=000) 1(=001) 0(=000) 0(=000) 1(=001) 1(=001) 1(=001). 0(=000) 1(=001) 0(=000) 1(=001) 0(=000) 1(=001) 0(=000) 0(=000) = 000000001000000001001001.0000010000010000010000002
Ответ: 00100111.010101008 = 1000000001001001.0000010000010000012
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в шестнадцатиричную вот так:
1000000001001001.000001000001000001002 = 1000 0000 0100 1001. 0000 0100 0001 0000 0100 = 1000(=8) 0000(=0) 0100(=4) 1001(=9). 0000(=0) 0100(=4) 0001(=1) 0000(=0) 0100(=4) = 8049.0410416
Ответ: 1000000001001001.000001000001000001008 = 8049.0410416