Вы указали что ваше число находится в дополнительном коде. Для дальнейшего преобразования необходимо получить прямой код числа. Поэтому выполним преобразование из дополнительного кода в прямой.
Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.
| | | | | | | |
1 | 1 | 0 | 1 | 1 | 0 | 1 | дополнительный код |
| | | | | - | 1 | -1 бит |
1 | 1 | 0 | 1 | 1 | 0 | 0 | обратный код |
1 | 0 | 1 | 0 | 0 | 1 | 1 | прямой код |
Получилось:1010011
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Дополним число недостающими нулями слева
Выполним прямой перевод из двоичной в шестнадцатиричную вот так:
010100112 = 0101 0011 = 0101(=5) 0011(=3) = 5316
Окончательный ответ: 010100112 = 5316
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
0∙27+1∙26+0∙25+1∙24+0∙23+0∙22+1∙21+1∙20 = 0∙128+1∙64+0∙32+1∙16+0∙8+0∙4+1∙2+1∙1 = 0+64+0+16+0+0+2+1 = 8310
Получилось: 010100112 =8310
Переведем число 8310 в шестнадцатиричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
83 | 16 | |
-80 | 5 | |
3 | | |
 |
В результате преобразования получилось:
8310 = 5316
Окончательный ответ: 010100112 = 5316