Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

2 Ы: посчитал я для тебя (+):

Отправлено argus98 (81.22.205.230) 03 ноября 2011, г. 13:15


1. Плавучка
B[n+1] = B[n] + (A[n] - B[n])*3/16

2. Целочисленное с добавлением мл.байта
c[n+1] = c[n] + целое((256*A[n] - c[n])*3/16)
C[n] = округление(c[n]/256)

3. Просто целочисленное
D[n+1] = D[n] + целое((A[n] - D[n])*3/16)

Результаты при начальных B = C = D = 1000
A = xxxx,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1010,1000,1010,1010,1010
B = 1000,1000,1000,1001,1001,1002,1002,1003,1004,1004,1005,1006,1007,1006,1006,1007,1008
C = 1000,1000,1000,1001,1001,1002,1002,1003,1004,1004,1005,1006,1007,1006,1006,1007,1008
D = 1000,1000,1000,1000,1000,1000,1000,1001,1002,1003,1004,1005,1005,1004,1005,1005,1005

То же при начальных B = C = D = 0
A = x,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1010,1000,1010,1010,1010
B = 0, 188, 340, 464, 565, 647, 715, 769, 814, 850, 880, 904, 924, 938, 952, 963, 972
C = 0, 188, 340, 464, 565, 647, 714, 769, 814, 850, 880, 904, 924, 938, 952, 963, 972
D = 0, 187, 339, 463, 564, 646, 713, 767, 812, 848, 878, 902, 922, 936, 949, 960, 969

как видишь B = C
в D, естественно, накапливается ошибка округления


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 56:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru