https://mathweb.ru/numberconverter.html?id=380135

Перевод 10000100(Знаковое Дополнительный 1 байт) из двоичной в шестнадцатиричную систему счисления

Введите число:
Его система счисления:
Двоичная
Троичная
Восьмеричная
Десятичная
Шестнадцатиричная
Двоично-десятичная
Другая
Дополнительно
Знаковое
Прямой
Обратный
Дополнительный
Беззнаковое
1 байт
2 байта
4 байта
8 байт

Вы указали что ваше число находится в дополнительном коде. Для дальнейшего преобразования необходимо получить прямой код числа. Поэтому выполним преобразование из дополнительного кода в прямой.

Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.

..
11111100 дополнительный код
-1-1 бит
11111011обратный код
10000100прямой код
Получилось:10000100

Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.

Сначала выполним прямой перевод.

Выполним прямой перевод из двоичной в шестнадцатиричную вот так:

100001002 = 1000 0100 = 1000(=8) 0100(=4) = 8416

Ответ: 100001002 = 8416 (1 байт)

Теперь выполним перевод через десятичную систему счисления.

Выполним перевод в десятичную систему счисления вот так:

Знаковый бит в переводе не участвует!

0∙26+0∙25+0∙24+0∙23+1∙22+0∙21+0∙20 = 0∙64+0∙32+0∙16+0∙8+1∙4+0∙2+0∙1 = 0+0+0+0+4+0+0 = 410

Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак

Получилось: 100001002 =-410

Переведем число -410 в шестнадцатиричное вот так:


В результате преобразования получилось:

-410 = 416

Мы обнаружили что Ваше число отрицательное. Однако в данный момент шестнадцатиричное число не может быть представлено в дополнительном коде.

Ответ: 100001002 = 416 (1 байт)