Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/20: Рейтинг темы: голосов - 20, средняя оценка - 4.90
dromysh
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 2
1

Переменная типа double ведет сябя как float в atmel studio !

26.11.2012, 10:13. Просмотров 3793. Ответов 3
Метки нет (Все метки)

Всем бдоброго утра
atmel studyo 6
В проекте использую переменную типа double. т.к надо сохранить 12 знаков мантиссы и использовать деление.
Отладка показала, что хранится только семь чисел мантиссы.
состряпал проверку:

#include <avr/io.h>

/*volatile*/ double dA, dB;
ftoot fA, fB;

int main(void)
{
dA= 23.345667856789d;
dB=0;
fA= 23.345667856789f;
fB=0;

while(1)
{
dB+=dA;
fB+=fA;
}
}
в отладке видно, что и для обоих типов переменных используется число 23.345667 т.е. типа FLOAT!
Не могу найти нужную настройку в Студии!!
P.S. В настройках отключил все что можно, включая оптимизацию кода!!!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 10:13
Ответы с готовыми решениями:

переменная типа float
Добрый день, проблема возникла с написанием условия для переменной типа ftoot. Объявил переменную...

Как проверить вводилось ли число (типа double или float) в консоль
Как проверить вводилось ли число (типа double или float) в консоль?

Передача переменной типа double из c# в переменную типа float в SQL
Здравствуйте, имеется проблема с передачей данных из кода c# в бд SQL Имеется переменная типа...

Преобразование типа double во float
Добрый день! Возникла такая проблема. Написал в 1 строчке то, как мне нужно сделать и, конечно же,...

Работа с переменными типа float и double
Приветствую всех форумчан. Я тут попытался реализовать программу, которая должна считать количество...

3
omx
0 / 0 / 0
Регистрация: 11.11.2016
26.11.2012, 11:21 2
увы
http://gcc.gnu.org/wiki/avr-gcc#Type_Layout
0
dromysh
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 2
26.11.2012, 11:31 3
Жаль...
Если кому-то еще интересно, то под ссылкой написано, что в AVR-GCC переменные типа double не соответствуют стандарту и занимают 4 байта (как и ftoot) :-(
Спасибо за помощь в решении проблемы...
0
Bytt
0 / 0 / 0
Регистрация: 22.08.2009
Сообщений: 525
27.11.2012, 10:36 4
Цитата Сообщение от dromysh
Жаль...
Если кому-то еще интересно, то под ссылкой написано, что в AVR-GCC переменные типа double не соответствуют стандарту и занимают 4 байта (как и ftoot) :-(
Спасибо за помощь в решении проблемы...
Используйте IAR. Таи есть соответствующие опции.
0
27.11.2012, 10:36
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 10:36

Работа с переменными типа float и double
Доброго времени суток всем, даммеры и госпопрограммеры :D Пытался я на днях реализовать программу,...

Проверка на корректность ввода типа double и float
Как сделать, чтобы выводила ошибку при некорректном вводе?

Неправильно отнимаются числа типа float(double)
Сразу говорю, что перезайти в решение - не вариант. Итак, у меня есть малюсенькая нейронная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.