C#開発日記(.NET FrameWork)|初心者から上級者まで|C#プログラミングでわからない事を解決する方法>内部変換誤差のお話

C#プログラミングの内部変換誤差についてのお話


 // 0.0001 を 10000 回 加算すると、ぴったり 1 になるか?

 //                                      → 浮動小数点ではNG!


float   X = 0 ;  // 32 bit 浮動小数点 型(有効桁 約  7 桁)

double  Y = 0 ;  // 64 bit 浮動小数点 型(有効桁 約 16 桁)

decimal Z = 0 ;  // 固定小数点 型       (有効桁 約 29 桁)


for (int N = 1 ; N <= 10000 ; N ++)

{

    X += 0.0001f ;  // 結果 1.000054

    Y += 0.0001  ;  // 結果 0.999999999999906

    Z += 0.0001m ;  // 結果 1

}


 // Note: decimal型では内部変換誤差は発生しないが、浮動小数点型では

 //       内部変換誤差が発生することがあるので、注意すること!

C#開発日記(.NET FrameWork)|初心者から上級者まで|C#プログラミングでわからない事を解決する方法

トップページ
特殊文字とは
起動時のパラメータ取得方法
C#プログラミング文字列を連結する方法
C#でのファイルの書き込み
文字列の分割の方法
C#のファイルパス名文字列から、ファイル名や拡張子を抜きだす方法
C#文字列扱いの方法etc
ダイアログで複数ファイル名を読む方法
動的配列の取り方
チェックリストボックスでチェックされたものを調べる方法
C#ファイルからの入力
文字列の検索方法
四捨五入する方法
小数点操作のいろいろ
型変換による精度保持の方法
内部変換誤差のお話
C#で数値を文字列に変換する方法
算術演算 (関数) の記述
C#ファイルの移動
C#フォームをアクティブにする方法
Formを必ず最前面に移動しその Form にフォーカスを移動する
C#で時間差表示する方法
Form の多重起動を防ぐ
Form を最前面に\配置
Formを自動で閉じる
VisualStudioでセットアップモジュールを作る方法
*
*
*
(以下は用語説明文)
.NET Framework

その他

リンク集







inserted by FC2 system