Пример кода с модификатором strictfp и без негоJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Пример кода с модификатором strictfp и без него

Сообщение Anonymous »

Я знаю, что этот вопрос может показаться сообществу слишком знакомым, но клянусь, мне ни разу за время моего пути программирования не удалось воспроизвести проблему, связанную с этим вопросом.
Я понимаю, что делает модификатор strictfp и как он обеспечивает полное соответствие стандарту IEEE754. Однако на практике я ни разу не сталкивался с ситуацией, когда используется набор значений с расширенным показателем, как описано в официальной спецификации.
Я пробовал использовать такие параметры, как -XX :+UseFPUForSpilling, чтобы стимулировать использование блока FPU для вычислений на моем относительно современном процессоре, но это не дало никакого эффекта.
Я даже пошел что касается установки Windows 98 SE на виртуальной машине и эмуляции процессора Intel Pentium II через Bochs, который не поддерживает набор инструкций SSE, надеясь что использование блока FPU в этом случае будет практически единственным вариантом. Однако даже такой эксперимент не дал результатов.
Суть эксперимента заключалась в том, чтобы взять максимально возможное значение типа double и умножить его на 2, чтобы получить промежуточное результат выходит за пределы допустимого диапазона типа double. Затем я разделил полученное значение на 4, и окончательный результат сохранил обратно в переменную double. Теоретически я должен был получить более содержательный результат, но во всех ситуациях я получал Infinity. В общем, во всем интернете я не нашел ни одного воспроизводимого примера (даже по состоянию на 2024 год!), который бы показывал разные результаты с использованием strictfp и без него. Неужели за почти 30-летнюю историю языка нет ни одного примера на эту тему, наглядно демонстрирующего разницу?
P.S. Я хорошо знаю Java 17+. Все эксперименты проводились на более ранних версиях, где разница по идее должна была быть заметна. Я установил Java SE 1.3 на виртуальную машину.

Подробнее здесь: https://stackoverflow.com/questions/782 ... p-modifier
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»