Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 0001000100100010010001010010000110010110010110000111010101101001 из восьмеричной в шестнадцатиричную систему счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙1152921504606846976 + 0∙144115188075855872 + 4∙18014398509481984 + 4∙2251799813685248 + 2∙281474976710656 + 2∙35184372088832 + 1∙4398046511104 + 2∙549755813888 + 2∙68719476736 + 0∙8589934592 + 6∙1073741824 + 2∙134217728 + 6∙16777216 + 2∙2097152 + 6∙262144 + 0∙32768 + 7∙4096 + 2∙512 + 5∙64 + 5∙8 + 1∙1
= 1152921504606846976 + 0 + 72057594037927936 + 9007199254740992 + 562949953421312 + 70368744177664 + 4398046511104 + 1099511627776 + 137438953472 + 0 + 6442450944 + 268435456 + 100663296 + 4194304 + 1572864 + 0 + 28672 + 1024 + 320 + 40 + 1
= 123462525841155415310
Получилось: 1044221220626260725518 = 123462525841155415310
Переведем число 123462525841155415310 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 1234625258411554153 | 16 | ||||||||||||||||
| -1234625258411554144 | 77164078650722134 | 16 | |||||||||||||||
| 9 | -77164078650722128 | 4822754915670133 | 16 | ||||||||||||||
| 6 | -4822754915670128 | 301422182229383 | 16 | ||||||||||||||
| 5 | -301422182229376 | 18838886389336 | 16 | ||||||||||||||
| 7 | -18838886389328 | 1177430399333 | 16 | ||||||||||||||
| 8 | -1177430399328 | 73589399958 | 16 | ||||||||||||||
| 5 | -73589399952 | 4599337497 | 16 | ||||||||||||||
| 6 | -4599337488 | 287458593 | 16 | ||||||||||||||
| 9 | -287458592 | 17966162 | 16 | ||||||||||||||
| 1 | -17966160 | 1122885 | 16 | ||||||||||||||
| 2 | -1122880 | 70180 | 16 | ||||||||||||||
| 5 | -70176 | 4386 | 16 | ||||||||||||||
| 4 | -4384 | 274 | 16 | ||||||||||||||
| 2 | -272 | 17 | 16 | ||||||||||||||
| 2 | -16 | 1 | |||||||||||||||
| 1 | |||||||||||||||||
Направление взгляда | |||||||||||||||||
В результате преобразования получилось:
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в шестнадцатиричную вот так: