Перейти к содержанию
    

Точность вычисления с плавающей точкой ?

Имеем вычисление по простейшей формуле F=A*B/C.

A, B, C имеют тип long int, F - long double.

Строка F=(((long double)(А))*B )/С; при А=65535, В=2500000, С=5000002 даёт результат, совпадающий с виндовым калькулятором только до 9 знака.

Где я теряю точность?

Компилятор Микрочип С30, мк PIC24H.

Изменено пользователем shkal

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеем вычисление по простейшей формуле F=A*B/C.

A, B, C имеют тип long int, F - long double.

Строка F=(((long double)(А))*B )/С; при А=65535, В=2500000, С=5000002 даёт результат, совпадающий с виндовым калькулятором только до 9 знака.

Где я теряю точность?

Компилятор Микрочип С30, мк PIC24H.

 

А вас погрешность в одну миллиардную не устраивает? Или это чисто из спортивного интереса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...