Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 10100101.1000110011001100 из двоичной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним прямой перевод.
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в шестнадцатиричную вот так:
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙128 + 0∙64 + 1∙32 + 0∙16 + 0∙8 + 1∙4 + 0∙2 + 1∙1 + 1∙0.5 + 0∙0.25 + 0∙0.125 + 0∙0.0625 + 1∙0.03125 + 1∙0.015625 + 0∙0.0078125 + 0∙0.00390625 + 1∙0.001953125 + 1∙0.0009765625 + 0∙0.00048828125 + 0∙0.000244140625 + 1∙0.0001220703125 + 1∙6.103515625E-5 + 0∙3.0517578125E-5 + 0∙1.52587890625E-5
= 128 + 0 + 32 + 0 + 0 + 4 + 0 + 1 + 0.5 + 0 + 0 + 0 + 0.03125 + 0.015625 + 0 + 0 + 0.001953125 + 0.0009765625 + 0 + 0 + 0.0001220703125 + 6.103515625E-5 + 0 + 0
= 165.5499877929687510
Получилось: 10100101.10001100110011002 = 165.5499877929687510
Переведем число 165.5499877929687510 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 165 | 16 | ||
| -160 | A | ||
| 5 | |||
Направление взгляда | |||
Дробная часть числа находится умножением на основание новой системы счисления:
Направление взгляда | |
| 0. | 54998779296875*16 |
| 8 | .8*16 |
| C | .797*16 |
| C | .75*16 |
| C | .0*16 |
В результате преобразования получилось: