正のオーバフロー
オーバフローだよ
許容されている値よりも大きい数字を入れようとすると起きるよ
「負のオーバフロー」と対比されるときに出てくる表現だよ
簡単に書くよ
正のオーバフロー(読:セイノオーバフロー 英:positive overflow)とは
負のオーバフロー
(限界よりも小さい数字(マイナス方向に大きい数字)を入れて、あふれちゃった状態)の対義語
であり
「9,999,999,999」のような大き過ぎる値を入れて、あふれちゃった状態のこと
です。
詳しく書くよ
※個人的には「オーバーフロー」(「オーバ」ではなく「オーバー」)という言い方の方が馴染みがありますが、某・資格試験の過去問だと「バッファオーバーフロー」ではなく「バッファオーバフロー」のような形で出てくるのですね。そのため、用語検索で引っかかるようにするために取り上げておきます。
順番に見ていきましょう。
まずは予備知識として「オーバフロー」と「負のオーバフロー」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
オーバフローは「想定している量よりも多くて、あふれちゃった状態」です。
主にプログラミングの分野で登場します。
例えば、そうですね。
ここに数字が入る箱が ありました。
この箱は2桁の数字が入る箱です。
0~99の数字が入ります。
ところがどっこい、です。
間抜けなピヨ太君が「10×10」の計算結果をこの箱に入れようとしました。
「10×10」の計算結果は「100」です。
「100」は3桁です。
2桁の数字が入る箱には入りきりません。
案の定、箱に穴が開いてあふれてしまいました。
このような状態がオーバフローです。
「桁あふれ」と表現されることも あります。
数値型の変数(プログラミング世界における数字を入れておく箱)には最大値があります。
「これより大きい数字は入れられないよ」な限界があるのです。
プログラミング言語や型の種類によって限界の値は変わりますけどね。
いずれにせよ、何らかの限界はあります。
オーバフローは、その限界よりも大きな値を箱に入れようとしたときに起こる現象です。
負のオーバフローは「限界よりも小さな値(マイナス方向に大きい値)を入れようとして、あふれちゃった状態」です。
例えば、そうですね。
ここに数字が入る箱が ありました。
この箱はプラスかマイナスの2桁の数字が入る箱です。
具体的には-99~99の数字が入ります。
ところがどっこい、です。
間抜けなピヨ太君が「10×10」の計算結果をこの箱に入れようとしました。
「10×10」の計算結果は「100」です。
「100」は3桁です。
2桁の数字が入る箱には入りきりません。
案の定、箱に穴が開いてあふれてしまいました。
これは上でも説明した普通のオーバフローです。
次にピヨ太君は「-10×10」の計算結果をこの箱に入れようとしました。
「-10×10」の計算結果は「-100」です。
入れようとした箱は「-99」までしか入りません。
案の定、箱に穴が開いてあふれてしまいました。
これが負のオーバフローです。
負のオーバフローもオーバフローです。
入れられる限界を超えた値を入れようとしてあふれたことには変わりありません。
ただし「オーバフロー」という語感からは「大き過ぎる値を入れてあふれた」イメージを受けます。
……という理由かどうかは知りませんが、小さ過ぎる値(マイナス方向に大き過ぎる値)を入れてあふれちゃった状態を「負のオーバフロー」と表現して、大き過ぎる値を入れてあふれちゃった状態と区別することがあるのです。
オーバフローはオーバフローなのですけどね。
「オーバフロー」と言われてイメージするのとは逆方向にあふれちゃった状態です。
以上を踏まえて
大き過ぎる値を入れて、あふれちゃった状態
が「正のオーバフロー」です。
つまり、普通のオーバフローのことですね。
正のオーバフローは、みなさんが「オーバフロー」と言われてイメージするであろうオーバフローです。
主に「負のオーバフロー」と対比されるときに登場します。
一言でまとめるよ
まぁ「正のオーバフロー」って単語が出てきたら「限界よりも大きい数字を入れて、あふれちゃった状態なんだな~」と お考えください。
おまけ
■訳してみるよ
「正の」は日本語ですね。
「overflow(オーバフロー)」の意味は「あふれる」とか「氾濫する」とかです。
何となく くっつけると
正の(方向に)あふれる
となります。






