Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 0001001001000000001000001001.000000000001 из восьмеричной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙16777216 + 1∙2097152 + 1∙262144 + 0∙32768 + 0∙4096 + 1∙512 + 0∙64 + 1∙8 + 1∙1 + 0∙0.125 + 0∙0.015625 + 0∙0.001953125 + 1∙0.000244140625
= 16777216 + 2097152 + 262144 + 0 + 0 + 512 + 0 + 8 + 1 + 0 + 0 + 0 + 0.000244140625
= 19137033.00024414062510
Получилось: 111001011.00018 = 19137033.00024414062510
Переведем число 19137033.00024414062510 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 19137033 | 16 | |||||||
| -19137024 | 1196064 | 16 | ||||||
| 9 | -1196064 | 74754 | 16 | |||||
| 0 | -74752 | 4672 | 16 | |||||
| 2 | -4672 | 292 | 16 | |||||
| 0 | -288 | 18 | 16 | |||||
| 4 | -16 | 1 | ||||||
| 2 | ||||||||
Направление взгляда | ||||||||
Дробная часть числа находится умножением на основание новой системы счисления:
Направление взгляда | |
| 0. | 000244140625*16 |
| 0 | .003906*16 |
| 0 | .0625*16 |
| 1 | .0*16 |
В результате преобразования получилось:
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в шестнадцатиричную вот так: