[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Бендер++ 13 ноября 2002 г. 19:31
В ответ на: и еще, вроде 100 я там не вижу, где 1.00 ??? отправлено PILOTIK 13 ноября 2002 г. 17:00

Я же сказал, что взляд был поверхностным, но корреляция между моим предположением и Вашим кодом заметна даже на первый взляд.
На второй могу сказать следующее
Возможно умножено не на 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