Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Дополним число недостающими нулями слева
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в шестнадцатиричную вот так:
00010101.100111111000000000002 = 0001 0101. 1001 1111 1000 0000 0000 = 0001(=1) 0101(=5). 1001(=9) 1111(=F) 1000(=8) 0000(=0) 0000(=0) = 15.9F80016
Окончательный ответ: 00010101.100111111000000000002 = 15.9F80016
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
0∙27+0∙26+0∙25+1∙24+0∙23+1∙22+0∙21+1∙20+1∙2-1+0∙2-2+0∙2-3+1∙2-4+1∙2-5+1∙2-6+1∙2-7+1∙2-8+1∙2-9+0∙2-10+0∙2-11+0∙2-12+0∙2-13+0∙2-14+0∙2-15+0∙2-16+0∙2-17+0∙2-18+0∙2-19+0∙2-20 = 0∙128+0∙64+0∙32+1∙16+0∙8+1∙4+0∙2+1∙1+1∙0.5+0∙0.25+0∙0.125+1∙0.0625+1∙0.03125+1∙0.015625+1∙0.0078125+1∙0.00390625+1∙0.001953125+0∙0.0009765625+0∙0.00048828125+0∙0.000244140625+0∙0.0001220703125+0∙6.103515625E-5+0∙3.0517578125E-5+0∙1.52587890625E-5+0∙7.62939453125E-6+0∙3.814697265625E-6+0∙1.9073486328125E-6+0∙9.5367431640625E-7 = 0+0+0+16+0+4+0+1+0.5+0+0+0.0625+0.03125+0.015625+0.0078125+0.00390625+0.001953125+0+0+0+0+0+0+0+0+0+0+0 = 21.62304687510
Получилось: 00010101.100111111000000000002 =21.62304687510
Переведем число 21.62304687510 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 21 | 16 | |
| -16 | 1 | |
| 5 | | |
 |
Дробная часть числа находится умножением на основание новой системы счисления:
 |
| 0. | 623046875*16 |
| 9 | .96875*16 |
| F | .5*16 |
| 8 | .0*16 |
В результате преобразования получилось:
21.62304687510 = 15.9F816
Окончательный ответ: 00010101.100111111000000000002 = 15.9F816