2 つの浮動小数点数 と がx
ありy
、それらの値が非常に近いとします。
コンピューターで表現できる浮動小数点数には離散的な数があるため、それらを昇順で列挙できます: f_1, f_2, f_3, ...
. x
このリストでとの距離を見つけたいですy
(つまり、それらは 1、2、3、... またはn
個別のステップで離れていますか?)
算術演算 ( +-*/
) のみを使用し、バイナリ表現を見ないでこれを行うことは可能ですか? 私は主に、これが x86 でどのように機能するかに興味があります。
それとそれとがほんの数ステップ(たとえば、100未満)離れていると仮定するy > x
と、次の近似は正しいですか?(おそらくない...)x
y
(y-x) / x / eps
ここでeps
、マシンのイプシロンを示します。(マシン イプシロンは、1.0 と次に小さい浮動小数点数との差です。)