天泣記

2015-08-24 (Mon)

#1

Math.exp(x) = 1.0 となる x はどのような範囲か調べてみた。

% ruby -e '
u1 = (-1.0..1.0).bsearch {|x| 1.0 <= Math.exp(x) }
u2 = (-1.0..1.0).bsearch {|x| 1.0 < Math.exp(x) }
p [u1, "%a" % u1, Math.exp(u1)]
p [u2, "%a" % u2, Math.exp(u2)]
'
[-5.551115123125783e-17, "-0x1p-54", 1.0]
[1.1102230246251565e-16, "0x1p-53", 1.0000000000000002]

-5.551115123125783e-17 以上 1.1102230246251565e-16 未満のようだ。

0x1p-53 などとぴったりな値なのは... exp(x) は x=0 で y=1 で傾きが 1 なんだから、そりゃそうなるか。


[latest]


田中哲