整数の四則演算を行う場合、整数の桁数(バイト数)によって精度は変化するのでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:virus No.1

回答回数183ベストアンサー獲得回数1

ポイント10pt

http://www.hatena.ne.jp/1084418348

整数の四則演算を行う場合、整数の桁数(バイト数)によって精度は変化するのでしょうか? - 人力検索はてな

ソフトによります。

普通のソフト(エクセル等)であれば、有効桁数は12桁程度と思っておいた方が良いです。つまり上位から12桁程度までの数字しか当てにならないと言うことです。

加減算ならその程度の桁数、乗除算であればその半分程度の桁数までは精度が出ます。

完全に整数計算しているソフトであれば、16ビットで計算していれば5桁程度、32ビットでも10桁程度が表現可能な数値ですから、それ以上大きな数値は扱えません。精度もこの範囲です。

多バイト長計算をしていると謳っているソフトであれば、この制限はありません。すべての数値計算できちんとした精度が出ます。

id:aki73ix No.2

回答回数5224ベストアンサー獲得回数27

ポイント20pt

精度は変化しません

  • id:takasiym
    精度

    「整数」の桁数によって「精度」が変わるのではないと思います。
    整数の「精度」が、プログラミング言語によって、
    なおかつ「データ型」の種類によって変わる、
    と言った方が正確だと思います。
    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

    では、、、

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません