Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Домножаем K на 2^14 = 16384. Получаем (+):
Отправлено
argus98
11 июля 2008 г. 14:50
В ответ на:
Помогите избавиться от плавающей точки (+)
отправлено Dikoy 11 июля 2008 г. 12:56
К - в диапазоне 4915..49152
Вычисление:
1) умножение 2х2 байта - Fi*K = R (4х-байтовый результат)
2) отбрасываем младший байт у R - получаем R1 (три байта)
3) сдвиг вправо R1 на 6 бит (/64) - получаем Fout
3a) можно заменить на сдвиг влево на 2 бита, с отбрасыванием младшего байта.
PS плавучка портит программистов....
Составить ответ
|
Вернуться на конференцию
Ответы
То есть (+)
-
Dikoy
(11.07.2008 15:23:16
192.168.3.72,194.186.243.194
, 164 байт)
& 0xFFFFFF00 - не нужно. Отбрасывание младшего байта эквивалентно /256 или сдвигу вправо на 8 разрядов. Т.е. в сумме нужно сдвинуть на 14 разрядов (/16384)
-
argus98
(11.07.2008 15:28:29
81.22.205.230
,
пустое
)
А... А я то думал, на 6 сдвинуть с нулями в младшем байте. Так а по точности это скольким знаком эквивалентно?..
-
Dikoy
(11.07.2008 16:28:6
192.168.3.72,194.186.243.194
,
пустое
)
Вроде как 4 знака выходит, или нет?
-
Dikoy
(11.07.2008 16:29:30
192.168.3.72,194.186.243.194
,
пустое
)
:) это как минимум на ящик пива тянет... Сами уж, батенька.
-
argus98
(11.07.2008 16:40:15
81.22.205.230
,
пустое
)
И округления результата, как я понял, не делается? Чёта я совсем запутался :(
-
Dikoy
(11.07.2008 16:32:26
192.168.3.72,194.186.243.194
,
пустое
)
Да для понятия можно и long сначала попробовать(+)
-
Quasy
(11.07.2008 15:08:0
192.168.0.207,80.243.9.34
, 604 байт)
Количество нулей не то.... Вернее, так(+)
-
Quasy
(11.07.2008 15:12:53
192.168.0.207,80.243.9.34
, 599 байт)
нихт ферштеен :)) мы по простому - в асме... Делов то на сотню слов и тактов
-
argus98
(11.07.2008 15:24:15
81.22.205.230
,
пустое
)
... или на 40 слов и 200 тактов
-
argus98
(11.07.2008 15:35:26
81.22.205.230
,
пустое
)
Если есть аппаратный MUL то 48 тактов, иначе 200++
-
Quasy
(11.07.2008 15:38:14
192.168.0.207,80.243.9.34
,
пустое
)
у меня цифры для программного умножения. Для аппаратного и 35 тактов хватит
-
argus98
(11.07.2008 15:56:25
81.22.205.230
,
пустое
)
Многовато.
-
Oldring
(11.07.2008 18:05:15
91.76.16.224
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru