2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 ComputerZero Fortran
Сообщение24.06.2010, 15:26 
Со сколькими знаками после запятой Фортран адекватно работает?

 
 
 
 Re: ComputerZero Fortran
Сообщение24.06.2010, 16:33 
Что значит "адекватно"?

И какая аппаратная платформа имеется в виду?

 
 
 
 Re: ComputerZero Fortran
Сообщение26.06.2010, 01:53 
Ulrih в сообщении #334573 писал(а):
Со сколькими знаками после запятой Фортран адекватно работает?
Это зависит от типа используемых данных (читаем стандарт языка/описание компилятора), но не в меньшей степени от способа использования данных. Поскольку разрядность ограничена, в общем случае операции с вещественными числами дают погрешность. При использовании полученных данных в дальнейших операциях погрешность может накапливаться. И это от языка программирования никак не зависит. Поэтому конкретный ответ можно дать, лишь зная построение программы и обрабатываемые данные.

 
 
 
 Re: ComputerZero Fortran
Сообщение26.06.2010, 07:24 
В Фортране два стандартных типа вещественных данных: четырёхбайтовый (примерно 7 правильных десятичных цифр) и восьмибайтовый (15-16 цифр). Чисел с фиксированной точкой в Фортране, насколько помню, нет, так что спрашивать "сколько цифр после запятой" бессмысленно. Формат хранения вроде как уже довольно давно стандартизован (IEEE 754).

 
 
 
 Re: ComputerZero Fortran
Сообщение18.09.2010, 08:54 
ewert в сообщении #335279 писал(а):
В Фортране два стандартных типа вещественных данных: четырёхбайтовый (примерно 7 правильных десятичных цифр) и восьмибайтовый (15-16 цифр). Чисел с фиксированной точкой в Фортране, насколько помню, нет, так что спрашивать "сколько цифр после запятой" бессмысленно. Формат хранения вроде как уже довольно давно стандартизован (IEEE 754).

Интеловский фортран позволяет использовать 16 байтов.

 
 
 
 Re: ComputerZero Fortran
Сообщение18.09.2010, 10:46 
y_nikolaenko в сообщении #353606 писал(а):
Интеловский фортран позволяет использовать 16 байтов.

возможно, да только, насколько я знаю, это не машинный формат (т.е. не зашит в процессор). Зашит в него 10-байтовый формат, но чтобы он использовался в фортране -- не слыхал. Впрочем, с фортраном я уж много-много лет не работал.

 
 
 
 Re: ComputerZero Fortran
Сообщение18.09.2010, 10:55 
ewert в сообщении #353642 писал(а):
y_nikolaenko в сообщении #353606 писал(а):
Интеловский фортран позволяет использовать 16 байтов.

возможно, да только, насколько я знаю, это не машинный формат (т.е. не зашит в процессор). Зашит в него 10-байтовый формат, но чтобы он использовался в фортране -- не слыхал. Впрочем, с фортраном я уж много-много лет не работал.

Почему обязательно 10-байтовый формат: например, SSE2 или SSE3. В Интел-С компиляторе можно использовать 10-байтовый формат (он "пожирает" 16 байт из-за выравнивания), а вот в майкрософтовском - только на уровне ассемблера.

 
 
 
 Re: ComputerZero Fortran
Сообщение18.09.2010, 13:16 
Ну я плохо знаю архитектуру процессора. Знаю лишь, что с самого начала в сопроцессоре был зашит 10-байтный формат (Extended), а выше ничего не было. И по крайней мере борландовский Паскаль издревле с этим типом работал. Как это организовано на уровне машинных инструкций -- не в курсе. Наверное, как-то всё же организовано: если бы компилятор занимался эмуляцией этих команд, а не использовал их напрямую, то гнаться за лишней всего лишь парой байтов не было бы смысла.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group