Здравствуйте!
У меня вот такой вопрос:
Нужно перевести число из 10 в 16 систему счисления с плавающей точкой со знаком.
Делал по схеме, один раз получилось перевести:
+

(здесь мантисса
[0.5,1) )
1)
2) мантисса равна

// полужирная единица - скрытая, т.е. ее не нужно учитывать при переводе.
Смещение равно

, 6 - шесть цифр сдвинули за точку.
3) 0
- знак 1000 0110
- смещение 00001
- мантисса
получается: 0100 0011 0000 0100 0000 0000 0000 0000
если перевести в 16, то получается
43040000
Но по этой же схеме не получилось перевести:
1) -1001.0000001001
2) мантисса 0.
10010000001001
смещение 80+4 = 84
3) 1
- знак 1000 0100
- смещение 0010000001001
- мантисса
1100 0010 0001 0000 0010 0100 0000 0000 -> C2102400
Где я ошибся или как-то по-другому нужно переводить?
Заранее, спасибо!