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

 
 
> Вычисление десятичного логарифма в IAR
vetbaston
сообщение Sep 12 2006, 04:48
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Для вычисления использую функцию log10(x), только что-то вычисление не совпадает с расчетом на ПК. Кто знает в чем дело, подскажите, что и как! Очень нужно! help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Black Pahan
сообщение Sep 12 2006, 05:05
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978



переменная х и та которой привсаевается результат вычисления должты быть типа double. или float или long double, если включен С++.


--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
Go to the top of the page
 
+Quote Post
vetbaston
сообщение Sep 12 2006, 05:14
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Обе переменные имеют тип double
Go to the top of the page
 
+Quote Post
Black Pahan
сообщение Sep 12 2006, 05:17
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978



код в студию. cranky.gif


--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
Go to the top of the page
 
+Quote Post
vetbaston
сообщение Sep 12 2006, 05:24
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



#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);

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

}
Go to the top of the page
 
+Quote Post
Black Pahan
сообщение Sep 12 2006, 05:35
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978



и сколько получается 0.9999994?
если это не усраевает, то включите DLIB вместо CLIB. будет 1.0 wink.gif


--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Sep 12 2006, 05:51
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



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

Что значит "не совпадает"? Причин может быть множество. Нельзя ли подробнее? Какой компилятор, как смотрели результат, какие инструменты использовались на PC? Короче, информация должна быть полной.
Go to the top of the page
 
+Quote Post
vetbaston
сообщение Sep 12 2006, 06:38
Сообщение #8


Частый гость
**

Группа: Новичок
Сообщений: 80
Регистрация: 21-08-06
Пользователь №: 19 702



Спасибо!
Поставил DLIB, все работает нормально!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:34
Рейтинг@Mail.ru


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