[an error occurred while processing this directive]
|
Я же сказал, что взляд был поверхностным, но корреляция между моим предположением и Вашим кодом заметна даже на первый взляд.
На второй могу сказать следующее
Возможно умножено не на 100, а на 128 или если учесть еще 3 младших бита, которые я не рассматривал, то и на 1024. А возможно что и на 1000 (это микроны). Я не анализировал подробно - нету времени. Но ясно что передача младшими битами вперед, код пропорциональный двоичный дополнительный. Возможно я не угадал масштабный коэффициент, но и он близок к истинному.
Возьмем для примера 1.00 - это выглядит как
--+-+-++--++..... Прочитаем посылку справа налево и заменим - на 1 а + на 0. Получим ...001100101,011 (запятую я сам поставил) преобразуем это в десятичный вид и получим 101,375
Посылка для 9.99 выглядит как
---+---+-----++.... что даст 1111101110,111 или 1006,875
для "-0.04"
-+---+---.... ...111011,101 или - 4,375
Т.е. множитель не совсем 100 (а с запятой не 800), а что-то близкое
и сосчитать его можно, но я думаю Вы и сами это можете сделать.
Удачи.
E-mail: info@telesys.ru