Переведем число 1511010 в двоичное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 15110 | 2 | ||||||||||||||
| -15110 | 7555 | 2 | |||||||||||||
| 0 | -7554 | 3777 | 2 | ||||||||||||
| 1 | -3776 | 1888 | 2 | ||||||||||||
| 1 | -1888 | 944 | 2 | ||||||||||||
| 0 | -944 | 472 | 2 | ||||||||||||
| 0 | -472 | 236 | 2 | ||||||||||||
| 0 | -236 | 118 | 2 | ||||||||||||
| 0 | -118 | 59 | 2 | ||||||||||||
| 0 | -58 | 29 | 2 | ||||||||||||
| 1 | -28 | 14 | 2 | ||||||||||||
| 1 | -14 | 7 | 2 | ||||||||||||
| 0 | -6 | 3 | 2 | ||||||||||||
| 1 | -2 | 1 | |||||||||||||
| 1 | |||||||||||||||
![]() | |||||||||||||||
В результате преобразования получилось:
Вы указали что размер вашего числа 1 байт.
Уберем лишние биты с учётом знакового бита вот так:
Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.
Для этого сначала выполним преобразование из прямого кода в обратный инвертированием всех битов кроме знакового, затем получим прямой код добавлением 1 бита.
| 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | прямой код |
| . | ||||||||
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | обратный код |
| + | 1 | +1 бит | ||||||
| 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | дополнительный код |