Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » точность плавающей арифметики

Ответить
Настройки темы
точность плавающей арифметики

Пользователь


Сообщения: 135
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как использовать возможности сопроцессора на 100% ?
Почему long double 64 bit?
А не 80 как было в "отсталом" DOC'е
Теряется и точность и скорость.

Отправлено: 04:01, 17-06-2004

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


какой компилятор? какие настройки?

если компилировать под x86 Debug, то:
sizeof(long double)=10
sizeof(double)=8
sizeof(float)=4

если под P-III SSE или AMD 3DNOW, то выгодней использовать float
если под P-IV SSE2, то double (64-бит)

Отправлено: 11:26, 17-06-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Для совместимости.
Очень хорошая публикация по этому поводу. Посмотрите также линки, прведённые автором - там ещё больше по спецификациям IEEE. Можете почитать ещё это.

Отправлено: 11:26, 17-06-2004 | #3


Пользователь


Сообщения: 135
Благодарности: 0

Профиль | Отправить PM | Цитировать


pva
MSVC 6.0
void main()
{
  printf("s= %d %d", sizeof(double), sizeof(long double));
}  
results:
s= 8 8
(debug & release)

Цитата:
если под P-III SSE или AMD 3DNOW, то выгодней использовать float
если под P-IV SSE2, то double (64-бит)
Не понял что значит выгодней?
Как записать число, ну допустим 2.7 e+1000
Да и не в только порядке дело, значащих цифр меньше тоже.

hasherfrog
Из первой Вашей ссылки:
Цитата:
I recently found myself needing to read Intel 80-bit long doubles from a binary stream whilst integrating with another system
И дальше, как я понимаю, описывается как этот "нехороший формат" превратить в "хороший" double

Вы меня не поняли.
Мне нужны мат функции работающие с long double 80
sin, cos, log, etc...
Может либа какая-есть?
Можно конечно написать в старом компиляторе 16-разрядную длл со всей математикой, но согласитесь, это похоже на чесание левой рукой за правым ухом.

Отправлено: 03:48, 18-06-2004 | #4


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


bilytur
То есть конвертнуть из 80-битного в 64-битное, а потом уже с этим работать - это Вам не подходит?

Отправлено: 09:12, 18-06-2004 | #5


Пользователь


Сообщения: 135
Благодарности: 0

Профиль | Отправить PM | Цитировать


hasherfrog
Нет. Не подходит.
Я просто хотел использовать возможности железа на 100%
А это как раз 80 битный формат сопроцессора.
Повышенная точность, больший диапазон чисел, ну и скорость.
Не нужно постоянно конвертировать double <=> 80bit
(Ну по крайней мере для x86 это так.)

Удивительно что в Win32 это убрали.
В досе, как я уже говорил это было.
В Паскале например этот тип кажется назывался extended
Может в делфе он и сейчас поддерживается?
Надо спросить у делфистов...

Искал в интере, есть какая-то либа, но скачать только за тугрики.
Под *nix правда много что есть. Но мне надо под Win 32.
Еще советуют фортран.  
Интеловский компилер по идее должен поддерживать.
Только что пришло в голову.
Попробую поискать.

Отправлено: 03:27, 19-06-2004 | #6


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


bilytur
дело в том что с появлением ММХ это уже не так, сейчас регистры для работы с плавающей запятой 64 битные, так что быстрее теперь 64бит доубле.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 21:19, 20-06-2004 | #7


Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Vlad Drakula
а ты SSE/SSE2 и 3DNow! учитываешь?
Цитата:
появлением ММХ
Как ни странно, это ЦЕЛОчисленные расширения....


[s]Исправлено: bgg0408, 1:13 21-06-2004[/s]

-------
FreeBSD - forever


Отправлено: 01:12, 21-06-2004 | #8


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


bgg0408
именно их я и учитываю, между прочим все эти расширения используют теже регистры что и для вычислений с плавающей запятой, т.е. физчески теже.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 02:03, 21-06-2004 | #9


Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Vlad Drakula
Цитата:
именно их я и учитываю
Так сразу и начал бы о них и говорить!
MMX все-таки не SSE.
Цитата:
физчески теже.
Согласен. Открываем Гука (или аналогичную книгу) и начинаем читать

-------
FreeBSD - forever


Отправлено: 02:47, 21-06-2004 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » точность плавающей арифметики

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Принтер - Точность полей при печати буклетом МФУ HP LJ M1005 MFP 1wolf Прочее железо 7 29-12-2009 12:50
Как в С++ Builder 6 сделать окно для вводв цифор с плавающей ReadeR 666 Программирование и базы данных 4 29-03-2004 03:34




 
Переход