Вы указали что ваше число находится в дополнительном коде. Для дальнейшего преобразования необходимо получить прямой код числа. Поэтому выполним преобразование из дополнительного кода в прямой.
Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.
| |
0 | дополнительный код |
1 | -1 бит |
1 | обратный код |
1 | прямой код |
Получилось:1
Выполним перевод в десятичную систему счисления вот так:
1∙20+1∙2-1+0∙2-2+1∙2-3+1∙2-4+1∙2-5+1∙2-6+0∙2-7+1∙2-8+1∙2-9+0∙2-10+0∙2-11+0∙2-12+1∙2-13+1∙2-14+0∙2-15+1∙2-16+0∙2-17+0∙2-18+0∙2-19+0∙2-20+1∙2-21+0∙2-22+1∙2-23 = 1∙1+1∙0.5+0∙0.25+1∙0.125+1∙0.0625+1∙0.03125+1∙0.015625+0∙0.0078125+1∙0.00390625+1∙0.001953125+0∙0.0009765625+0∙0.00048828125+0∙0.000244140625+1∙0.0001220703125+1∙6.103515625E-5+0∙3.0517578125E-5+1∙1.52587890625E-5+0∙7.62939453125E-6+0∙3.814697265625E-6+0∙1.9073486328125E-6+0∙9.5367431640625E-7+1∙4.7683715820312E-7+0∙2.3841857910156E-7+1∙1.1920928955078E-7 = 1+0.5+0+0.125+0.0625+0.03125+0.015625+0+0.00390625+0.001953125+0+0+0+0.0001220703125+6.103515625E-5+0+1.52587890625E-5+0+0+0+0+4.7683715820312E-7+0+1.1920928955078E-7 = 1.7404333353042610
Получилось: 1.101111011000110100001012 =1.7404333353042610