Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вычисление десятичного логарифма в IAR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
vetbaston
Для вычисления использую функцию log10(x), только что-то вычисление не совпадает с расчетом на ПК. Кто знает в чем дело, подскажите, что и как! Очень нужно! help.gif
Black Pahan
переменная х и та которой привсаевается результат вычисления должты быть типа double. или float или long double, если включен С++.
vetbaston
Обе переменные имеют тип double
Black Pahan
код в студию. cranky.gif
vetbaston
#include <iom64.h>
#include <inavr.h>
#include <iomacro.h>
#include <math.h>

double LOG,AB;

void main(void)
{__disable_interrupt();
XDIV=0;
MCUCR=0;
__enable_interrupt();
.....................
LOG=10;
for(;;)
{..............

AB=log10(LOG);

..............
}

}
Black Pahan
и сколько получается 0.9999994?
если это не усраевает, то включите DLIB вместо CLIB. будет 1.0 wink.gif
_Bill
Цитата(vetbaston @ Sep 12 2006, 07:48) *
Для вычисления использую функцию log10(x), только что-то вычисление не совпадает с расчетом на ПК. Кто знает в чем дело, подскажите, что и как! Очень нужно! help.gif

Что значит "не совпадает"? Причин может быть множество. Нельзя ли подробнее? Какой компилятор, как смотрели результат, какие инструменты использовались на PC? Короче, информация должна быть полной.
vetbaston
Спасибо!
Поставил DLIB, все работает нормально!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.