www.kn34pc.com

Форум на силистренските радиолюбители
Дата и час: 17 Апр 2026, 20:10

Часовете са според зоната UTC + 2 часа




Напиши нова тема Отговори на тема  [ 2 мнения ] 
Автор Съобщение
 Заглавие: float/double constant в HAL
МнениеПубликувано на: 29 Дек 2024, 13:03 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1646
Местоположение: Силистра
умножение по float/double константа, тест: :smt048
(калибровка на показания на честотомер)
Код за потвърждение:
uint32_t x = 1000000019;
x *= 0.99995054110188271487660581812017;          // 999950560
x = 1000000019;
x *= 0.99995054110188271487660581812017f;         // 999950528
x = 1000000019;
x *= (double)0.99995054110188271487660581812017;  // 999950560
// calculator - 999950560,10094299581237740077551

По подразбиране константа с десетична точка е в double :smt041

PS. за теста оптимизацията е изключена, иначе дебъгерът направо скача на последното изчисление.


Върнете се в началото
 Профил  
 
МнениеПубликувано на: 01 Яну 2025, 11:39 
Offline
Аватар

Регистриран на: 07 Дек 2006, 17:24
Мнения: 1646
Местоположение: Силистра
С променлива пад стана по "сложния начин":
Код за потвърждение:
     double tmp = (double)fx[1];
     tmp *= 1.0002568380645957687422102408703;
     fx[1] = (uint32_t)tmp;

Липсва ми Arduino :wink .


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 2 мнения ] 

Часовете са според зоната UTC + 2 часа


Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани и 15 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Форумът се задвижва от phpBB® Forum Software © phpBB Group
Преведено от yarnaudov.com