Есть задача посчитать отношение 2х 32-разряднных беззнаковых чисел (первое произвольное до 10^8, второе всегда порядка 10^7) и вывести результат на дисплей с точностью не менее 8 знаков. Например:
N1 = 12312312
N2 = 10000123
Res = 1,2312161
Как это правильно сделать в IAR STM8? Время выполнения операции и использование ресурсов не важно.
Про простое деление оператором "/" в доке на IAR (DSTM8-3) сказано "The precision of the float operators (+, -, *, and /) is approximately 7 decimal digits.", т.е. нужная точность не гарантируется.
STM8 -- посчитать отношение 2х 32-битных чисел
- Реклама
Re: STM8 -- посчитать отношение 2х 32-битных чисел
https://blog.segger.com/algorithms-for- ... ns-method/ там цикл статей, думаю, если их прочесть, то можно создать подходящее
ну и вообще https://en.wikipedia.org/wiki/Division_algorithm
ну и вообще https://en.wikipedia.org/wiki/Division_algorithm
- КРАМ
- Друг Кота
- Сообщения: 25220
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: STM8 -- посчитать отношение 2х 32-битных чисел
Присоединяюсь к предыдущему оратору. Написать собственное деление 64 разрядного формата мантиссы не составит труда. С порядками, надеюсь, вы справитесь очень легко - там простая арифметика плюс/минус.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1906
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: STM8 -- посчитать отношение 2х 32-битных чисел
Пример отсюда: How can I divide two longs in an accurate double?
Установил Ваши значения и до 18 знаков после запятой, как из примера. Ниже приведен счет и с калькулятором.

Установил Ваши значения и до 18 знаков после запятой, как из примера. Ниже приведен счет и с калькулятором.
- Вложения
-
- sketch_may02b.zip
- (875 байт) 49 скачиваний
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: STM8 -- посчитать отношение 2х 32-битных чисел
veso74, я для частотомера использовал double для результата деления, разве там 8 знаков не будет?
- Реклама
Re: STM8 -- посчитать отношение 2х 32-битных чисел
увы, но (по крайней мере для IAR STM8) double и float одно и тоже. Но вообще да, я бы в любом случае указывал тип double, чтобы подчеркнуть, что требуется точность.


