Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Библиотека для операций c double в компиляторе SDCC

Непрочитано 06.07.2020, 11:33  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Библиотека для операций c double в компиляторе SDCC

Дико извиняюсь.

А может кто видел библиотеки для SDCC что бы пользоваться числами с двойной точностью?
Ну хотя бы платные...
А то точности не хватает несколько чисел умножить и сложить.
Реклама:
optical illusion вне форума  
Непрочитано 06.07.2020, 14:38  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Double на пиках/STM8/8051 и подобных?
Really?
Там же даже флоаты - моветон!!!
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 06.07.2020, 17:33  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Там есть много библиотечных функций с float, до 6 знаков после запятой просто.
А мне нужно числа вот такого типа умножать и складывать -2.81038625251e-27, не прокатывает такое ни в каком виде. В SDCC есть какая то библиотека типа float.h, но у меня функции оттуда не работают.
Сейчас нужно решать - или победить эту "особенность", или уходить на другой компилятор. Жалко бросать это.
optical illusion вне форума  
Непрочитано 06.07.2020, 18:20  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Интересно, где вы взяли столь малые числа? Заряд электронов меряете чтоль?
Если вы оперируете такими малыми числами, значит, у вас исходные данные представлены в неправильных размерностях. Это как измерять площадь помещения в квадратных световых годах.
NewWriter вне форума  
Непрочитано 06.07.2020, 18:44  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Это полином для расчета ЭДС термопары. Мудреная такая штука.
optical illusion вне форума  
Непрочитано 06.07.2020, 19:03  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

optical illusion, подсказать, как вообще без флоатов обойтись?
Вот такая несложная функция позволяет мне пересчитывать ADU с АЦП в градусы Цельсия - чтобы по дешевому NTC примерно температуру определить!
Делается элементарно: берем несколько NTC, скручиваем вместе с платиновым терморезистором или другим опорным термометром. Помещаем в емкость со спиртом и это дело суем в жидкий азот. Ждем, пока опустится до нужной температуры (скажем, -30°C), затем вытаскиваем, засовываем в многослойную "шубу" и, пока нагревается, снимаем показания. Потом проводим медиану по показаниям NTC, получая зависимость "температура-ADU". Аппроксимируем кривую любой функцией, которая ляжет на нее с точностью не хуже заданной.
Далее берем нулевой репер: начало кривой. И находим точку, где линейная аппроксимация не будет превышать заданной величины (в моем случае - 0.05°C). Получаем второй репер. И так, точка за точкой, находим все реперы.
Это позволяет в итоге сделать точную кусочно-линейную аппроксимацию на заданном участке температур. И для перевода ADU в градусы Цельсия никаких сложных действий применять не понадобится!

Учите математику! И забудьте о даблах на микроконтроллерах.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 06.07.2020 в 19:12.
eddy вне форума  
Непрочитано 06.07.2020, 22:47  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Увы, я не физик теоретик - зарабатываю продажей микроконтроллеров. Кто то скажет что это такой глупый, скучный и примитивный бизнес...
А вопрос про то, что жалко бросать несколько десятков кило кода.
optical illusion вне форума  
Непрочитано 07.07.2020, 22:46  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Где бы найти алгоритмы умножения больших чисел в калькуляторах, например. То же самое должно быть.
optical illusion вне форума  
Непрочитано 07.07.2020, 23:17  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Если невозможно обойтись без double, то явно нужен Cortex-M7 или круче!
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 08.07.2020, 09:03  
optical illusion
Прописка
 
Регистрация: 17.08.2013
Сообщений: 282
Сказал спасибо: 10
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
optical illusion на пути к лучшему
По умолчанию Re: Библиотека для операций c double в компиляторе SDCC

Я вчера погуглил, задачка оказалась для старшешкольников. Примитивно решается.
Удачи Вам с кортексами! ))
optical illusion вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Компас 3D V10+ algenkel Proteus, KiCAD и другие ECAD 14 29.09.2009 13:09


Часовой пояс GMT +4, время: 00:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.