Bizdelnick писал(а): ↑23.09.2013 15:22
Вы, поди, на x86_64 компилировали? Вот и получили удвоенную точность. Округления тут ни при чём.
Да, приведенные в первом посте результаты я получил на 64-битной системе.
Bizdelnick писал(а): ↑23.09.2013 15:22
Если будете использовать тип single, расхождений быть не должно.
Подверждаю, использование single даёт менее точные результаты.
Однако, всё не так просто.
Во-первых, если бы дело было только в разрядности, то gcc с аналогичным сишным кодом тоже дали бы такой результат при использовании long double, если уж результат влезает в 64 бита. Но этого не произошло. Значит, какое-то округление в FreePascal всё-таки есть.
Во-вторых, я попробовал в чруте 32-битный FreePascal и получил то же самое.
Не удовлетворившись этим, я развернул на виртуалке FreeDos и поставил туда FreePascal для DOS с таким же номером версии, как у меня в системе (2.6.0). Результат в FreeDos оказался таким же.
FreeDos вроде бы 32-битный, на всякий случай я скормил системе 4Гб памяти и убедился: видно только 3.5Гб, стало быть, действительно 32 бита.
Но это ещё не самое интересное.
Я по своей невнимательности не заметил (и никто из участников темы тоже не заметил), что результаты Borland Pascal и FreePascal различаются по количеству знаков.
Если Вы внимательно посмотрите первый пост, то увидите, что в коде указано вывести результат в формате 20:18, то есть 20 знаков, из них 18 после запятой. Borland Pascal именно так и вывел результат.
FreePascal же вывел после запятой только 15 знаков. Я заметил это только тогда, когда попытался вывести на экран ещё больше знаков (30:28).
FreePascal всё равно вывел только 15. Причина этого мне неизвестна и уже неинтересна.
Я потратил на это некоторое количество времени и не вижу смысла ковырять это дальше.
FreePascal действительно ввёл меня в заблуждение, это немного обидно и я больше с ним не дружу.
Однако в большей степени всё из-за моей невнимательности.
Я прошу всех участников темы извинить меня за то, что я занял ваше время.
Я благодарю всех вас за участие и за ваши советы, которые для меня действительно ценны.