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

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

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

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

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

1111111111010111 дополнительный код
-1-1 бит
1111111111010110обратный код
1000000000101001прямой код
Получилось:1000000000101001

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

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

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

10000000001010012 = 1000 0000 0010 1001 = 1000(=8) 0000(=0) 0010(=2) 1001(=9) = 802916

Ответ: 10000000001010012 = 802916 (1 байт)

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

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

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

0∙214+0∙213+0∙212+0∙211+0∙210+0∙29+0∙28+0∙27+0∙26+1∙25+0∙24+1∙23+0∙22+0∙21+1∙20 = 0∙16384+0∙8192+0∙4096+0∙2048+0∙1024+0∙512+0∙256+0∙128+0∙64+1∙32+0∙16+1∙8+0∙4+0∙2+1∙1 = 0+0+0+0+0+0+0+0+0+32+0+8+0+0+1 = 4110

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

Получилось: 10000000001010012 =-4110

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

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

4116
-322
9
Перевод чисел из одной системы счисления в другую

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

-4110 = 2916

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

Ответ: 10000000001010012 = 2916 (1 байт)