Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 345.3604189374 из шестнадцатиричной в восьмеричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод в десятичную систему счисления вот так:
= 3∙256 + 4∙16 + 5∙1 + 3∙0.0625 + 6∙0.00390625 + 0∙0.000244140625 + 4∙1.52587890625E-5 + 1∙9.5367431640625E-7 + 8∙5.9604644775391E-8 + 9∙3.7252902984619E-9 + 3∙2.3283064365387E-10 + 7∙1.4551915228367E-11 + 4∙9.0949470177293E-13
= 768 + 64 + 5 + 0.1875 + 0.0234375 + 0 + 6.103515625E-5 + 9.5367431640625E-7 + 4.7683715820312E-7 + 3.3527612686157E-8 + 6.9849193096161E-10 + 1.0186340659857E-10 + 3.6379788070917E-12
= 837.2109999999993310
Получилось: 345.360418937416 = 837.2109999999993310
Переведем число 837.2109999999993310 в восьмеричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 837 | 8 | ||||
| -832 | 104 | 8 | |||
| 5 | -104 | 13 | 8 | ||
| 0 | -8 | 1 | |||
| 5 | |||||
Направление взгляда | |||||
Дробная часть числа находится умножением на основание новой системы счисления:
Направление взгляда | |
| 0. | 21099999999933*8 |
| 1 | .688*8 |
| 5 | .504*8 |
| 4 | .032*8 |
| 0 | .256*8 |
| 2 | .048*8 |
| 0 | .384*8 |
| 3 | .072*8 |
| 0 | .576*8 |
| 4 | .608*8 |
| 4 | .863*8 |
В результате преобразования получилось:
Выполним прямой перевод из шестнадцатиричной в двоичную вот так:
Дополним число недостающими нулями слева
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в восмеричную вот так:
= 001 101 000 101. 001 101 100 000 010 000 011 000 100 100 110 111 010
= 001(=1) 101(=5) 000(=0) 101(=5). 001(=1) 101(=5) 100(=4) 000(=0) 010(=2) 000(=0) 011(=3) 000(=0) 100(=4) 100(=4) 110(=6) 111(=7) 010(=2)
= 155.15402030446728