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

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

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

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

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

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

8916 = 8 9 = 8(=1000) 9(=1001) = 100010012

Ответ: 8916 = 100010012

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

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

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

0∙161+9∙160 = 0∙16+9∙1 = 0+9 = 910

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

Получилось: 8916 =-910

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

Целая часть числа находится делением на основание новой системы счисления:

92
-842
1-422
0-21
0
Перевод чисел из одной системы счисления в другую

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

-910 = 10012

Вы указали что размер вашего числа 1 байт.

Дополним число знаковым битом вот так:

10012 = 100010012

Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.

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

10001001 прямой код
11110110обратный код
+1+1 бит
11110111дополнительный код
Ответ: 8916 = 111101112 (1 байт)