Переведем число 2818010 в двоичное вот так:
Целая часть числа находится делением на основание новой системы счисления:
28180 | 2 | |||||||||||||||
-28180 | 14090 | 2 | ||||||||||||||
0 | -14090 | 7045 | 2 | |||||||||||||
0 | -7044 | 3522 | 2 | |||||||||||||
1 | -3522 | 1761 | 2 | |||||||||||||
0 | -1760 | 880 | 2 | |||||||||||||
1 | -880 | 440 | 2 | |||||||||||||
0 | -440 | 220 | 2 | |||||||||||||
0 | -220 | 110 | 2 | |||||||||||||
0 | -110 | 55 | 2 | |||||||||||||
0 | -54 | 27 | 2 | |||||||||||||
1 | -26 | 13 | 2 | |||||||||||||
1 | -12 | 6 | 2 | |||||||||||||
1 | -6 | 3 | 2 | |||||||||||||
0 | -2 | 1 | ||||||||||||||
1 | ||||||||||||||||
В результате преобразования получилось:
Вы указали что размер вашего числа 1 байт.
Уберем лишние биты с учётом знакового бита вот так:
Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.
Для этого сначала выполним преобразование из прямого кода в обратный инвертированием всех битов кроме знакового, затем получим прямой код добавлением 1 бита.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | прямой код |
. | . | |||||||
1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | обратный код |
+ | 1 | +1 бит | ||||||
1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | дополнительный код |