реклама на сайте
подробности

 
 
> Точность вычисления с плавающей точкой ?
shkal
сообщение Aug 15 2011, 13:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 281
Регистрация: 29-04-08
Из: Москва
Пользователь №: 37 149



Имеем вычисление по простейшей формуле F=A*B/C.
A, B, C имеют тип long int, F - long double.
Строка F=(((long double)(А))*B )/С; при А=65535, В=2500000, С=5000002 даёт результат, совпадающий с виндовым калькулятором только до 9 знака.
Где я теряю точность?
Компилятор Микрочип С30, мк PIC24H.

Сообщение отредактировал shkal - Aug 15 2011, 13:18
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
sergeeff
сообщение Aug 15 2011, 16:41
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(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.


А вас погрешность в одну миллиардную не устраивает? Или это чисто из спортивного интереса?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 15 2011, 17:45
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(shkal @ Aug 15 2011, 19:17) *
Где я теряю точность?

А чему равен sizeof(long double)?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
shkal
сообщение Aug 15 2011, 18:03
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 281
Регистрация: 29-04-08
Из: Москва
Пользователь №: 37 149



64 бита стандартный IEEE-754
Go to the top of the page
 
+Quote Post
shkal
сообщение Aug 16 2011, 17:18
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 281
Регистрация: 29-04-08
Из: Москва
Пользователь №: 37 149



Сорри, разобрался, всё правильно считается.
Go to the top of the page
 
+Quote Post

Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016