Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 0001000001000001001001001001.00000000100100000100 из восьмеричной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙16777216 + 0∙2097152 + 1∙262144 + 0∙32768 + 1∙4096 + 1∙512 + 1∙64 + 1∙8 + 1∙1 + 0∙0.125 + 0∙0.015625 + 1∙0.001953125 + 1∙0.000244140625 + 0∙3.0517578125E-5 + 1∙3.814697265625E-6
= 16777216 + 0 + 262144 + 0 + 4096 + 512 + 64 + 8 + 1 + 0 + 0 + 0.001953125 + 0.000244140625 + 0 + 3.814697265625E-6
= 17044041.002201080322265610
Получилось: 101011111.0011018 = 17044041.002201080322265610
Переведем число 17044041.002201080322265610 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 17044041 | 16 | |||||||
| -17044032 | 1065252 | 16 | ||||||
| 9 | -1065248 | 66578 | 16 | |||||
| 4 | -66576 | 4161 | 16 | |||||
| 2 | -4160 | 260 | 16 | |||||
| 1 | -256 | 16 | 16 | |||||
| 4 | -16 | 1 | ||||||
| 0 | ||||||||
Направление взгляда | ||||||||
Дробная часть числа находится умножением на основание новой системы счисления:
Направление взгляда | |
| 0. | 0022010803222656*16 |
| 0 | .03522*16 |
| 0 | .5635*16 |
| 9 | .016*16 |
| 0 | .25*16 |
| 3 | .0*16 |
| F | .0*16 |
| F | .0*16 |
| F | .0*16 |
| F | .0*16 |
| F | .0*16 |
В результате преобразования получилось:
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Дополним число недостающими нулями слева
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в шестнадцатиричную вот так: