Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 11111111111111111 из двоичной в восьмеричную систему счисления в восьмибайтовое в беззнаковое
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним прямой перевод.
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в восмеричную вот так:
= 011 111 111 111 111 111
= 011(=3) 111(=7) 111(=7) 111(=7) 111(=7) 111(=7)
= 3777778
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙65536 + 1∙32768 + 1∙16384 + 1∙8192 + 1∙4096 + 1∙2048 + 1∙1024 + 1∙512 + 1∙256 + 1∙128 + 1∙64 + 1∙32 + 1∙16 + 1∙8 + 1∙4 + 1∙2 + 1∙1
= 65536 + 32768 + 16384 + 8192 + 4096 + 2048 + 1024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 13107110
Получилось: 111111111111111112 = 13107110
Переведем число 13107110 в восьмеричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 131071 | 8 | ||||||
| -131064 | 16383 | 8 | |||||
| 7 | -16376 | 2047 | 8 | ||||
| 7 | -2040 | 255 | 8 | ||||
| 7 | -248 | 31 | 8 | ||||
| 7 | -24 | 3 | |||||
| 7 | |||||||
Направление взгляда | |||||||
В результате преобразования получилось: