「.NETのfloat.Epsilon定数は計算機イプシロンではない」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
12行目: | 12行目: | ||
== 解決 == | == 解決 == | ||
− | + | <source lang="csharp"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
using System; | using System; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
static double MachineEpsilon() | static double MachineEpsilon() | ||
{ | { | ||
− | double eps = 1. | + | double eps = 1.0; |
do | do | ||
{ | { | ||
− | eps /= 2. | + | eps /= 2.0; |
} | } | ||
while ((double)(1.0 + eps) != 1.0); | while ((double)(1.0 + eps) != 1.0); | ||
− | |||
return eps; | return eps; | ||
} | } | ||
− | </ | + | </source> |
− | |||
− | |||
− | |||
− | |||
[[category: .NET]] | [[category: .NET]] | ||
[[category: Mono]] | [[category: Mono]] | ||
[[category: Xamarin]] | [[category: Xamarin]] |