Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Дополним число недостающими нулями слева
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в шестнадцатиричную вот так:
000100111000.10100110011000002 = 0001 0011 1000. 1010 0110 0110 0000 = 0001(=1) 0011(=3) 1000(=8). 1010(=A) 0110(=6) 0110(=6) 0000(=0) = 138.A66016
Ответ: 000100111000.10100110011000002 = 138.A66016
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
0∙211+0∙210+0∙29+1∙28+0∙27+0∙26+1∙25+1∙24+1∙23+0∙22+0∙21+0∙20+1∙2-1+0∙2-2+1∙2-3+0∙2-4+0∙2-5+1∙2-6+1∙2-7+0∙2-8+0∙2-9+1∙2-10+1∙2-11+0∙2-12+0∙2-13+0∙2-14+0∙2-15+0∙2-16 = 0∙2048+0∙1024+0∙512+1∙256+0∙128+0∙64+1∙32+1∙16+1∙8+0∙4+0∙2+0∙1+1∙0.5+0∙0.25+1∙0.125+0∙0.0625+0∙0.03125+1∙0.015625+1∙0.0078125+0∙0.00390625+0∙0.001953125+1∙0.0009765625+1∙0.00048828125+0∙0.000244140625+0∙0.0001220703125+0∙6.103515625E-5+0∙3.0517578125E-5+0∙1.52587890625E-5 = 0+0+0+256+0+0+32+16+8+0+0+0+0.5+0+0.125+0+0+0.015625+0.0078125+0+0+0.0009765625+0.00048828125+0+0+0+0+0 = 312.6499023437510
Получилось: 000100111000.10100110011000002 =312.6499023437510
Переведем число 312.6499023437510 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
312 | 16 | | |
-304 | 19 | 16 | |
8 | -16 | 1 | |
| 3 | | |
|
Дробная часть числа находится умножением на основание новой системы счисления:
|
0. | 64990234375*16 |
A | .4*16 |
6 | .375*16 |
6 | .0*16 |
В результате преобразования получилось:
312.6499023437510 = 138.A6616
Ответ: 000100111000.10100110011000002 = 138.A6616