Перевод чисел в различные системы счисления
Рассмотрим пример перевода числа 731 из восьмеричной в двоичную систему счисления однобайтовое знаковое в однобайтовое в беззнаковое
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Выполним прямой перевод.
Выполним прямой перевод из восьмеричной в двоичную вот так:
Выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
Знаковый бит в переводе не участвует!
= 3∙64+3∙8 + 1∙1
= 192+24 + 1
= 21710
Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак
Получилось: 7318 = -21710
Переведем число -21710 в двоичное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 217 | 2 | ||||||||
| -216 | 108 | 2 | |||||||
| 1 | -108 | 54 | 2 | ||||||
| 0 | -54 | 27 | 2 | ||||||
| 0 | -26 | 13 | 2 | ||||||
| 1 | -12 | 6 | 2 | ||||||
| 1 | -6 | 3 | 2 | ||||||
| 0 | -2 | 1 | |||||||
| 1 | |||||||||
Направление взгляда | |||||||||
В результате преобразования получилось:
Мы обнаружили что Ваше число отрицательное. Для дальнейшего перевода из прямого кода в дополнительный нужно знать размер числа. Так как Вы его не указали то мы возьмем размер 1 байт