Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Точность вычисления с плавающей точкой ?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
shkal
Имеем вычисление по простейшей формуле F=A*B/C.
A, B, C имеют тип long int, F - long double.
Строка F=(((long double)(А))*B )/С; при А=65535, В=2500000, С=5000002 даёт результат, совпадающий с виндовым калькулятором только до 9 знака.
Где я теряю точность?
Компилятор Микрочип С30, мк PIC24H.
sergeeff
Цитата(shkal @ Aug 15 2011, 16:17) *
Имеем вычисление по простейшей формуле F=A*B/C.
A, B, C имеют тип long int, F - long double.
Строка F=(((long double)(А))*B )/С; при А=65535, В=2500000, С=5000002 даёт результат, совпадающий с виндовым калькулятором только до 9 знака.
Где я теряю точность?
Компилятор Микрочип С30, мк PIC24H.


А вас погрешность в одну миллиардную не устраивает? Или это чисто из спортивного интереса?
AHTOXA
Цитата(shkal @ Aug 15 2011, 19:17) *
Где я теряю точность?

А чему равен sizeof(long double)?
shkal
64 бита стандартный IEEE-754
shkal
Сорри, разобрался, всё правильно считается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.