Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 1000000000111110000111 из двоичной в восьмеричную систему счисления в восьмибайтовое в беззнаковое
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним прямой перевод.
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в восмеричную вот так:
= 001 000 000 000 111 110 000 111
= 001(=1) 000(=0) 000(=0) 000(=0) 111(=7) 110(=6) 000(=0) 111(=7)
= 17678
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
= 1∙2097152 + 0∙1048576 + 0∙524288 + 0∙262144 + 0∙131072 + 0∙65536 + 0∙32768 + 0∙16384 + 0∙8192 + 0∙4096 + 1∙2048 + 1∙1024 + 1∙512 + 1∙256 + 1∙128 + 0∙64 + 0∙32 + 0∙16 + 0∙8 + 1∙4 + 1∙2 + 1∙1
= 2097152 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2048 + 1024 + 512 + 256 + 128 + 0 + 0 + 0 + 0 + 4 + 2 + 1
= 210112710
Получилось: 10000000001111100001112 = 210112710
Переведем число 210112710 в восьмеричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 2101127 | 8 | ||||||||
| -2101120 | 262640 | 8 | |||||||
| 7 | -262640 | 32830 | 8 | ||||||
| 0 | -32824 | 4103 | 8 | ||||||
| 6 | -4096 | 512 | 8 | ||||||
| 7 | -512 | 64 | 8 | ||||||
| 0 | -64 | 8 | 8 | ||||||
| 0 | -8 | 1 | |||||||
| 0 | |||||||||
Направление взгляда | |||||||||
В результате преобразования получилось: