Вы указали что ваше число находится в дополнительном коде. Для дальнейшего преобразования необходимо получить прямой код числа. Поэтому выполним преобразование из дополнительного кода в прямой.
Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.
| | . | . | | |
1 | 1 | 1 | 0 | 0 | дополнительный код |
| | | - | 1 | -1 бит |
1 | 1 | 0 | 1 | 1 | обратный код |
1 | 0 | 1 | 0 | 0 | прямой код |
Получилось:10100
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Дополним число недостающими нулями слева
Дополним число недостающими нулями справа
Выполним прямой перевод из двоичной в восмиричную вот так:
010100.1110102 = 010 100. 111 010 = 010(=2) 100(=4). 111(=7) 010(=2) = 24.728
Окончательный ответ: 11100.111012 = 24.728
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
0∙25+1∙24+0∙23+1∙22+0∙21+0∙20+1∙2-1+1∙2-2+1∙2-3+0∙2-4+1∙2-5+0∙2-6 = 0∙32+1∙16+0∙8+1∙4+0∙2+0∙1+1∙0.5+1∙0.25+1∙0.125+0∙0.0625+1∙0.03125+0∙0.015625 = 0+16+0+4+0+0+0.5+0.25+0.125+0+0.03125+0 = 20.9062510
Получилось: 010100.1110102 =20.9062510
Переведем число 20.9062510 в восьмеричное вот так:
Целая часть числа находится делением на основание новой системы счисления:
20 | 8 | |
-16 | 2 | |
4 | | |
 |
Дробная часть числа находится умножением на основание новой системы счисления:
 |
0. | 90625*8 |
7 | .25*8 |
2 | .0*8 |
В результате преобразования получилось:
20.9062510 = 24.728
Окончательный ответ: 11100.111012 = 24.728