Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 01001001000001000001001000000000001000001000001000000001 из восьмеричной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙18014398509481984 + 1∙2251799813685248 + 1∙281474976710656 + 0∙35184372088832 + 1∙4398046511104 + 0∙549755813888 + 1∙68719476736 + 1∙8589934592 + 0∙1073741824 + 0∙134217728 + 0∙16777216 + 1∙2097152 + 0∙262144 + 1∙32768 + 0∙4096 + 1∙512 + 0∙64 + 0∙8 + 1∙1
= 18014398509481984 + 2251799813685248 + 281474976710656 + 0 + 4398046511104 + 0 + 68719476736 + 8589934592 + 0 + 0 + 0 + 2097152 + 0 + 32768 + 0 + 512 + 0 + 0 + 1
= 2055214865793075310
Получилось: 11101011000101010018 = 2055214865793075310
Переведем число 2055214865793075310 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 20552148657930753 | 16 | ||||||||||||||
| -20552148657930752 | 1284509291120672 | 16 | |||||||||||||
| 1 | -1284509291120672 | 80281830695042 | 16 | ||||||||||||
| 0 | -80281830695040 | 5017614418440 | 16 | ||||||||||||
| 2 | -5017614418432 | 313600901152 | 16 | ||||||||||||
| 8 | -313600901152 | 19600056322 | 16 | ||||||||||||
| 0 | -19600056320 | 1225003520 | 16 | ||||||||||||
| 2 | -1225003520 | 76562720 | 16 | ||||||||||||
| 0 | -76562720 | 4785170 | 16 | ||||||||||||
| 0 | -4785168 | 299073 | 16 | ||||||||||||
| 2 | -299072 | 18692 | 16 | ||||||||||||
| 1 | -18688 | 1168 | 16 | ||||||||||||
| 4 | -1168 | 73 | 16 | ||||||||||||
| 0 | -64 | 4 | |||||||||||||
| 9 | |||||||||||||||
Направление взгляда | |||||||||||||||
В результате преобразования получилось:
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в шестнадцатиричную вот так: