[an error occurred while processing this directive]
|
Программирую в среде ICC версия 6.25. Возникает подозрение, что некоторые функции для работы с числами с плавающей точкой работают некорректно. Например, результат для l1 из примера ниже будет -4,
хотя должно получиться -2 :
f1 = -0.002;
f1 = f1*1000;
l1 = (long)fround(f1*1000);
Причем в симуляторе все в порядке, а в реальном микроконтроллере нет.
Контроллер ATMega128L. Кто-нибудь сталкивался с такой проблемой?
E-mail: info@telesys.ru