「計算機イプシロン」の版間の差分

imported>Administrator
ページの作成:「'''計算機イプシロン'''(英語:machine epsilon)とは、その計算機コンピューター)で扱える「1より大きい最小の数…」
 
imported>Administrator
 
(同じ利用者による、間の1版が非表示)
3行目: 3行目:
浮動小数点の仮数指数表記では「1未満」だと指数部だけを使ってどこまでも小さくなってしまうため、何が何でも仮数部を使うために「1以上」の数字を用いる。そこから1を引けば純粋に「最小の数」になる。
浮動小数点の仮数指数表記では「1未満」だと指数部だけを使ってどこまでも小さくなってしまうため、何が何でも仮数部を使うために「1以上」の数字を用いる。そこから1を引けば純粋に「最小の数」になる。


== 計算 ==
==計算==


* 浮動小数点変数に1を代入する
*浮動小数点変数に1を代入する
* 浮動小数点変数をひたすら1/2していく
*浮動小数点変数をひたすら1/2していく
* 浮動小数点変数がゼロになったら直前の値が計算機イプシロン
*浮動小数点変数がゼロになったら直前の値が計算機イプシロン


=== PHP ===
===PHP===
[[PHP]]での実装例。<syntaxhighlight lang="php">
[[PHP]]での実装例。<syntaxhighlight lang="php">
<?php
<?php
22行目: 22行目:
</syntaxhighlight>
</syntaxhighlight>


== 関連項目 ==
===Python===
[[Python]]での実装例。
<syntaxhighlight lang="python">
a = 1.0
b = 0.0
while 0 < a :
    b = a
    a = a / 2.0
print("{0:09.8E}".format(b))
</syntaxhighlight>
==関連項目==


* [[.NETのfloat.Epsilon定数は計算機イプシロンではない]]
*[[.NETのfloat.Epsilon定数は計算機イプシロンではない]]