検索に移動C#においてfloat型(Single型)の絶対値をfloat.Epsilon定数と比較している箇所の挙動がどうもおかしい。ソースを編集]ググってMSDNを見るとサラッと絶望的なひとことメモが。arithmetic.https://msdn.microsoft.com/ja-jp/library/system.single.epsilon(v=vs.110).aspx要約すると「浮動小数点演算の丸の相対誤差の上限(丸め誤差発生時にズレるであろう最大値)」であり「計算機イプシロン」ではない。名前紛らわしすぎだろ。ソースを編集]「奥村晴彦『C言語による最新アルゴリズム事典』技術評論社,1991年,ISBN4-87408-414-1,2400円」という書籍に計算機イプシロンを動的に求めるアルゴリズムが詳細に解説されており、またソースコードは公式サイトにおいても配布されている。この本は非常に面白いので迷わず買え。個人的にはこの手の技術書を買う際に目次と技術評論社という名前だけで信頼して買うようになった一冊である。https://oku.edu.mie-u.ac.jp/~okumura/algo/速攻でC言語からC#に移植した(ほぼコピペしただけ)。}計算機イプシロンの定番のアルゴリズムといえば、変数をひたすら2で割り続け、ゼロになった瞬間のひとつ前を捉えるというもの。「1以上」という条件はコンピューターの指数と仮数の組み合わせで表現される浮動小数点数では、1未満だと指数部だけを使ってどこまでも小さくなってしまうためであり、なんとしても仮数部を使おうということらしい。ソースを編集]実行環境(主にCPUの違い)により計算結果が変化する点に注意すること。アーキテクチャがいっぱいあるXamarin系は要注意。プライバシー・ポリシーMonoBookについて免責事項モバイルビュ。