Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
То есть (+)
Отправлено
Dikoy
11 июля 2008 г. 15:23
В ответ на:
Домножаем K на 2^14 = 16384. Получаем (+):
отправлено argus98 11 июля 2008 г. 14:50
На компе: port((int16)(16384 * K));
В контроллере:
int Fi, Fo, K;
Fo = ((Fi*K) & 0xFFFFFF00) >> 6;
Так?
Составить ответ
|
Вернуться на конференцию
Ответы
& 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
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 34:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru