Сообщение от alvadep
|
Это результат с плавающей точкой.
А для фиксированной точки разрядность не должна меняться.
В этом примере наверно результат будет 6-ти разрядный.
4-х разрядное число дополняется нулями до 6-ти разрядного.
Результат округляется (скорей всего лишние разряды просто отбрасываются) до 6-ти разрядного.
|
Проверим
.1111 = 0.5+0.25+0.125+0.0625 = 0.9375 (десятичная система счисления)
.111111 = 0.9375+0.03125+0.015625=0.984375 (десятичная система счисления)
умножаем 0.9375*0.984375=0.9228515625
переводим в двоичную систему
0.9228515625*2=1.845703125 записываем 1
0.845703125 *2=1.69140625 записываем 1
0.69140625*2 = 1.3828125 записываем 1
0.3828125*2 = 0.765625 записываем 0
0.765625 *2 = 1.53125 записываем 1
0.53125*2 = 1.0625 записываем 1
0.0625*2 = 0.125 записываем 0
0.125*2 = 0.25 записываем 0
0.25*2 = 0.5 записываем 0
0.5*2 =1 ну наконец записываем 1 решено
получаем ответ .1110110001 проверте...
я же говорил 10-ти разрядный результат,
не зря при апаратном умножении 8ми битных операндов в 18пиках выделяется 16ти разрядный результат операции,
10 минут потратил на вычисления.