Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
математические выражения в AT Mega
Отправлено
SuperKI
29 марта 2008 г. 14:37
Здравствуйте! Подскажите, понимает ли контроллер числа с плавающей запятой и как это можно сделать? у меня не получается, число округляется до целых... и можно ли использовать числа повышенной разрядности (4-5 байтные) в расчетах?
Составить ответ
|
Вернуться на конференцию
Ответы
Floating-point values are represented by 32- and 64-bit numbers in standard IEEE754 format. By enabling the compiler option --64bit_doubles, you can choose whether data declared as double should be represented with 32 bits or 64 bits. The data type float is always represented using 32 bits.
—
DASM
(29.03.2008 16:44:12
212.58.192.14
,
пустое
)
А зачем вам именно вычисления с плавающей точкой понадобились ?
—
vinogradov
(29.03.2008 16:09:38
92.112.62.127
,
пустое
)
Если есть надежные библиотеки и нет нужды в большой скорости - я за плавучку при обработке.
—
Oldring
(29.03.2008 16:53:14
91.77.102.7
, 206 байт)
+1. Если деньги и скорость позволяют - тоже за double. Просто модно нынче веером пальцы - , типа на fixed все сделаем
—
DASM
(29.03.2008 16:54:48
212.58.192.14
,
пустое
)
Скорее, за float. Нужно знать меру. :) Ну или 32-разрядный double если это plain C и библиотеки только с double.
—
Oldring
(29.03.2008 16:59:24
91.77.102.7
,
пустое
)
ну не знаю, 32 битники не так и сильно с double мучаются. А вот точности 32 бит float реально может не хватить даже в несложном приборе. Можно конечно оптимизировать методики вычислений, но если рузультат уже в 5-ом знаке нужен - я за double. Вообще соприть не о чем - задачи разные бывают. Меня просто удивляют некоторые, которые слово "плавучка" сразу в ряд с "ламер" ставят
—
DASM
(29.03.2008 17:02:23
212.58.192.14
,
пустое
)
А по поводу "ламеров" - так некоторые написание не на ASM тоже вроде бы с ламерством уравнивают :)
—
Oldring
(29.03.2008 17:06:16
91.77.102.7
,
пустое
)
об ушедших в гости - или хорошо, или никак ;-)
—
DASM
(29.03.2008 17:07:6
212.58.192.14
,
пустое
)
Если в пятом знаке - то да. Но 23-разрядной мантиссы должно хватать для большинства приборов IMHO.
—
Oldring
(29.03.2008 17:03:59
91.77.102.7
,
пустое
)
в итоге да, но ошибка при сложных (относительно) формулах накапливается. Часто просто до неприличия
—
DASM
(29.03.2008 17:05:35
212.58.192.14
,
пустое
)
Смотря какие формулы.
—
Oldring
(29.03.2008 17:10:15
91.77.102.7
, 183 байт)
ну я это и имел в виду, говоря про оптимизацию. Но все равно это не всегда помогает
—
DASM
(29.03.2008 17:12:35
212.58.192.14
,
пустое
)
Конечно, не всегда. И double тоже не всегда помогает. Нет универсальных решений.
—
Oldring
(29.03.2008 17:14:16
91.77.102.7
,
пустое
)
немного не тот анек хотел, но тоже в тему "Переход на 64 разряда также позволяет сделать примитивные типы большими, чем раньше. Например, целое значение 2^32 дает 4 294 967 296, в то время как 2^64 - уже 18 446 744 073 709 551 616. Это очень удобно для тех приложений, которым нужно вычислять вещи вроде государственного долга США или другие большие числа"
—
DASM
(29.03.2008 17:19:51
212.58.192.14
,
пустое
)
Аппаратно - нет. Программно - что угодно.
—
БУБУ
(29.03.2008 15:37:32
195.131.84.251
,
пустое
)
забыть о плавучке , пользовать целочисленку , либы по ссылке
—
m16
(29.03.2008 15:01:32
78.132.136.236
,
пустое
,
ссылка
,
картинка
)
Конечно, понимает, но только при повышенном питании - от 8 до 12В. При нем и числа, и запятые, и сам контроллер легко становятся плавающими безо всяких дополнительных затрат
—
MBedder
(29.03.2008 14:54:57
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru