電子書籍の厳選無料作品が豊富!

複数のIT用語辞典で調べるとオーバーフローとはデータ型が扱える範囲の上限を超えてしまうこととありました。
とするとint型の場合 32,767を超えることはオーバーフローと言うのでしょうけど、–32,768を下回ることはなんと言うのでしょうか?

A 回答 (6件)

IT用語も、常に同じ意味で使われるとは限りません。



上に溢れる「オーバーフロー」と、下に溢れる「アンダーフロー」です。
この上下の基準が変われば、値の変わります。

整数の場合
最大値から最小値までが「上下」と考えれば、最小値より小さくなってしまうのは「アンダーフロー」です。
精度で考えれば、負の最小値(絶対値が最大)より小さくなることは、取り得る値を越えてしまうので「オーバーフロー」です(特に「負のオーバーフロー」といったりします)。「アンダーフロー」は最小精度の1より小さくなってしまうことです。


検索でいくつかの「IT用語」を見てみましたが、「解説」と言えるほど詳しくは書いてないように思えました。
大体の意味を掴んだら、より詳しい解説をしているサイトとか本とかで調べなおすのがいいかと思います。
    • good
    • 1

あははは、#2 : kemee さん、突っ込みありがとう、16bit で説明してましたね失敬失敬。



ついでに補足しておくと、この辺の言い回しはCPUでの動作のときに良く耳にする言葉です。
CPU演算時に、オーバーフローフラグが立つ、ボロービットが立つとか、いう言い回しがあるんです。
演算ビット桁数を超えた時に立つフラグのことで、こちらの方を調べると面白いかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2011/09/16 21:59

ここに


http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95% …
このような記述がありました。
オーバーフロー/アンダーフロー
 最大値を超えた場合はオーバーフロー、絶対値の最小より小さい場合はアンダーフローという。
(実数の)指数部は・・・の範囲が表現できる。
 これを下回れば算術アンダーフロー、上回れば算術オーバーフローとなる。

これが正しい表現かは不明です。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2011/09/16 21:59

マイナス側の桁あふれは、アンダーフローと言うこともあります。



またすでに指摘されているように、int型の大きさは処理系によってまちまちで、一定ではありません(規定もない)。最近になって、int64のように長さが解る名前が付く場合も出てきましたが、ただのintではそれが16bitか32bitか、あるいは8bitか64bitかは解りません。これはintに限らず他の型、例えばfloatが何ビット長かの規定もないので、同じことが言えそう…
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

自分が調べたアンダーフロー定義は値が小さすぎて、正しい結果が得られない場合だそうです。
値が小さいとは0に近いということでdouble、float型で起こるということです。詳しい数字は分かりませんが、0.0000000001というような数字は正しく表せないという事で、オーバーフローは0から遠すぎて表すことができないという意味だと思います。色んなIT用語辞典を調べると値が大きい場合とか表現してるので誤解をうむと思いました。

お礼日時:2011/06/11 10:26

#1さん、32bitだと+2147483647/-2147483648ですよ。


32767/-32768だと16bitですね。
    • good
    • 1

32bit の二進化システムで二の補数をマイナスとするsigned型とした場合。


扱える数字は十進表記で 32767 ~ -32768 ですが、十六進で書くと 7FFF ~ 8000 です。
十進表記で、32767 を越えた 32768 は、十六進表記で 8000、 十進表記だと -32768。
十進表記で、-32768 を下回る -32769 は、十六進表記で 7FFF、十進表記だと 32767。
見て頂いて解る通り閾値を越えると正負が逆転します。
この事をオーバーフローと言いっていますので、上下どちらも一緒です。

因に、前置きが長くなっていますが、これらには前提条件があります。
例えば int が 32bit ではないシステムは沢山あります。
また、二進で二の補数をマイナスとしない物も沢山ありますし、これらは機種依存です。
実はこの前提条件によりオーバーフローの閾値や結果が変わってきます。
今回は上記規定の場合にはこうなりますと言う話しです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!