реклама на сайте
подробности

 
 
> точность вычислений на Атмега
artic
сообщение Aug 18 2014, 18:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 11-10-06
Пользователь №: 21 205



Здравствуйте.

Господа подскажите баг это компилятора или нет.? Если это норма то как повысить точность вычислений? 05.gif
Компилятор CodeVision, Atmega 168

float A=417.60;
float B=0.01;

При просмотре содержимого переменных через AvrStudio имею А=417.60001; В=0.0099999998;

А если числа будут например 17.60 или 0.1 то все гуд.

Для меня эти несоответствия имеют катастрофические последствия. т.к. при дальнейшей обработке погрешность результата
резко возрастает. Обнаружил сие во время реальной работы софта на мк.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Aug 18 2014, 18:23
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Обычная точность для флоат. Ваш компилятор double понимает? Сильно подозреваю, что размер дабла равен размеру флоата у вас.. Тогда прикручивайте внешнюю библиотеку двойной точности, иначе никак, float тут не в помощь. Иногда помогает правильная организация (группировка) вычислений
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 05:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01281 секунд с 7
ELECTRONIX ©2004-2016