0
2つの浮動小数点数の差が1以下であるかどうかを調べる方法は?1つのULP内の2つの浮動小数点数をテストする
(サインと指数を無視し、)以下のコードのようなもの、仮数のバイナリを抽出し、やや少ないひどい:
a = int(<float>.hex().lstrip('-').lstrip('0x')[1:].lstrip('.')[:-3].rstrip('+').rstrip('p'), 16)
b = int(<float>.hex().lstrip('-').lstrip('0x')[1:].lstrip('.')[:-3].rstrip('+').rstrip('p'), 16)
print abs(a - b) <= 1
なぜそれが問題になり、 「2つのn umbersは異なるULPを持っていますか?そしてお返事ありがとうございますが、私はNumPyではなくPython stdlibだけを使用したいと考えています。 –
@EcirHana:aとbが互いにa-ULP内にあり、お互いに、何が起こるはずですか?このチェックはFalseを返します。あなたはそれを望んでいないかもしれません。 – user2357112
私は参照してください。その場合、私の質問は間違っていて、あなたの答えは正しいです:)。 –