Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 01000000000000000001000000000000000001000000001000000001 из восьмеричной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙18014398509481984 + 0∙2251799813685248 + 0∙281474976710656 + 0∙35184372088832 + 0∙4398046511104 + 0∙549755813888 + 1∙68719476736 + 0∙8589934592 + 0∙1073741824 + 0∙134217728 + 0∙16777216 + 0∙2097152 + 1∙262144 + 0∙32768 + 0∙4096 + 1∙512 + 0∙64 + 0∙8 + 1∙1
= 18014398509481984 + 0 + 0 + 0 + 0 + 0 + 68719476736 + 0 + 0 + 0 + 0 + 0 + 262144 + 0 + 0 + 512 + 0 + 0 + 1
= 1801446722922137710
Получилось: 10000010000010010018 = 1801446722922137710
Переведем число 1801446722922137710 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 18014467229221377 | 16 | ||||||||||||||
| -18014467229221376 | 1125904201826336 | 16 | |||||||||||||
| 1 | -1125904201826336 | 70369012614146 | 16 | ||||||||||||
| 0 | -70369012614144 | 4398063288384 | 16 | ||||||||||||
| 2 | -4398063288384 | 274878955524 | 16 | ||||||||||||
| 0 | -274878955520 | 17179934720 | 16 | ||||||||||||
| 4 | -17179934720 | 1073745920 | 16 | ||||||||||||
| 0 | -1073745920 | 67109120 | 16 | ||||||||||||
| 0 | -67109120 | 4194320 | 16 | ||||||||||||
| 0 | -4194320 | 262145 | 16 | ||||||||||||
| 0 | -262144 | 16384 | 16 | ||||||||||||
| 1 | -16384 | 1024 | 16 | ||||||||||||
| 0 | -1024 | 64 | 16 | ||||||||||||
| 0 | -64 | 4 | |||||||||||||
| 0 | |||||||||||||||
Направление взгляда | |||||||||||||||
В результате преобразования получилось:
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в шестнадцатиричную вот так: