浮動小数点演算のIEEE標準では、乗算のもとで保存された浮動小数点数の順序があります。例えば、a、x、yは浮動小数点数とする。IEEE 754-2008乗算のもとで保存された標準命令
x < y次にax < ay?
これが真実でないのは確かに奇妙なことですが、私はいくつか安心したいと思います。
ありがとうございます。
浮動小数点演算のIEEE標準では、乗算のもとで保存された浮動小数点数の順序があります。例えば、a、x、yは浮動小数点数とする。IEEE 754-2008乗算のもとで保存された標準命令
x < y次にax < ay?
これが真実でないのは確かに奇妙なことですが、私はいくつか安心したいと思います。
ありがとうございます。
あなたの質問では、乗数は正であると仮定しています。
答えはいいえです。
まず、製品がアンダーフローまたはオーバーフローする可能性が常にあります。この場合、それらは0または+無限大に丸められ、不等式は違反されます。より一般的な場合として
:結果は常に正しく丸められており、ax
の丸められていない値がay
の丸め前の値よりも小さいので、斧の丸められた値は、y
の丸められた値より大きくすることはできません。これは、一方が切り上げられ、他方が切り捨てられ、丸められた値が等しくなる可能性を残す。
これは、x
とy
が連続する浮動小数点数である場合にのみ発生します。さもなければ、差は常に最後の場所で1単位より大きく、数は同じに丸められません。
残念ながら、これは時々起こります。例えば取る:
x = 1.2345678899999997
y = 1.23456789
a = 0.84812721230468113
、その後ax
とay
両方が1.047070622946572
に等しいです。
+1ただし、乗算の結果が正規化されていない場合、 'x'と' y'が連続する浮動小数点数でなくても起こる可能性があります。また、aが0、無限大、NaNの場合、答えは自明に「いいえ」です。 –