http://www.hatena.ne.jp/1084418348
整数の四則演算を行う場合、整数の桁数(バイト数)によって精度は変化するのでしょうか? - 人力検索はてな
ソフトによります。
普通のソフト(エクセル等)であれば、有効桁数は12桁程度と思っておいた方が良いです。つまり上位から12桁程度までの数字しか当てにならないと言うことです。
加減算ならその程度の桁数、乗除算であればその半分程度の桁数までは精度が出ます。
完全に整数計算しているソフトであれば、16ビットで計算していれば5桁程度、32ビットでも10桁程度が表現可能な数値ですから、それ以上大きな数値は扱えません。精度もこの範囲です。
多バイト長計算をしていると謳っているソフトであれば、この制限はありません。すべての数値計算できちんとした精度が出ます。
コメント(1件)
「整数」の桁数によって「精度」が変わるのではないと思います。
整数の「精度」が、プログラミング言語によって、
なおかつ「データ型」の種類によって変わる、
と言った方が正確だと思います。
C/C++だと、「データ型」の種類により、整数の精度は以下のように変わります。
http://www.gj.il24.net/~nakasima/prog/datatype.htm#C
PHPだと、整数の「データ型」の種類はintegerのみで、
精度は符号付32ビットです。
オーバーフローすると、自動的にfloatになります。
但し、GMPライブラリとBCMathライブラリをインストールすると、
任意精度の整数を扱う事ができます。
http://www.php.net/manual/ja/language.types.integer.php
Javaだと、「データ型」の種類により、整数の精度は以下のように変わります。
http://www.gj.il24.net/~nakasima/prog/datatype.htm#JAVA
では、、、