「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

オーバーフロー

pointこの用語のポイント

point入れ過ぎちゃったよ

pointあふれちゃったよ

スポンサーリンク

簡単に書くよ

オーバーフロー(英:overflow)とは

「いやんっ、あふれちゃった(*ノノ)」な状態のこと。
もう少し真面目ぶって書くと

「これより大きい数字は入れられないよ」な限界よりも大きい数字を入れようとして、おかしな状態になっちゃうこと
です。
あるいは

「これくらい入るかな~」と思って確保していた領域よりもたくさん入れちゃって、入りきらなかった状態のこと
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

想定している量よりも多くて、あふれちゃった状態

が「オーバーフロー」です。
主にプログラミングの分野で登場します。

オーバーフロー

例えば、そうですね。
ここに数字が入る箱が ありました。

オーバーフロー2

この箱は2桁の数字が入る箱です。
0~99の数字が入ります。

オーバーフロー3

ところがどっこい、です。
間抜けなピヨ太君が「10×10」の計算結果をこの箱に入れようとしました。

オーバーフロー4

「10×10」の計算結果は「100」です。
「100」は3桁です。
2桁の数字が入る箱には入りきりません。
案の定、箱に穴が開いてあふれてしまいました。

オーバーフロー5

このような状態がオーバーフローです。
桁あふれ」と表現されることも あります。

数値型の変数(プログラミング世界における数字を入れておく箱)には最大値があります。
「これより大きい数字は入れられないよ」な限界があるのです。
プログラミング言語の種類によって限界の値は変わりますけどね。
いずれにせよ、何らかの限界はあります。

オーバーフローは、その限界よりも大きな値を箱に入れようとしたときに起こる現象です。

……というのが本来の意味のオーバーフローです。

実はプログラミングの世界には「バッファオーバーフロー」という用語があります。
この「バッファオーバーフロー」の省略表現として「オーバーフロー」と言っている場合があります。

オーバーフロー6

バッファは「データを一時的に溜めておく場所」です。
バッファオーバーフローは

バッファ(データを溜めておく場所)がオーバーフローした(あふれた)状態

を指す用語です。

せっかくなので、バッファオーバーフローについて、もう少し詳しく説明しておきます。

プログラミングでは変数を扱います。
変数は「値を入れておく箱」です。
中に値を入れます。

オーバーフロー7

この変数ですが、実際にはメモリ上に場所を確保します。
メモリの上に「ここからここまで、この変数が使うから」と値を入れておくための領域を確保するのです。

オーバーフロー8

よく分からない方は花見の場所取りをイメージしてください。
場所を取るために下に敷いたブルーシートが変数です。
その上に座る上司や先輩、花見の参加者が値です。

花見の参加者が多くなると、ブルーシートに座りきれません。
ブルーシートの外にはみ出してしまうでしょう。
そうすると、隣で花見をしている人たちの迷惑になってしまうかもしれませんね。

コンピュータの世界も同じです。

例えば、3文字まで入る変数をメモリ上に確保したとしましょう。

オーバーフロー9

そこに4文字以上入れると、入りきらない分があふれてしまいます。

オーバーフロー10

もし隣の領域を他の変数が使っていたら、どうでしょう?

オーバーフロー11

他の変数の値を書き換えてしまいますね。

オーバーフロー12

これは本来想定していない事態です。
困ったことになる可能性が高いでしょう。

このような

元々確保していた領域よりも大きい値を入れて、あふれちゃった状態

がバッファオーバーフローです。
そして「バッファオーバフロー」の省略表現として「オーバフロー」と言っている場合があります。

オーバーフロー13

とはいえ、似たようなものですけどね。
「オーバーフロー」と出てきたら

許容されている量よりもたくさん入れちゃって、あふれた状態

と読み替えてください。
それで何となくの意味は、つかめると思います。


image piyo2

一言でまとめるよ

まぁ「オーバーフロー」って単語が出てきたら「あふれちゃったんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像007
書籍画像013

おまけ

■訳してみるよ

「overflow(オーバーフロー)」の意味は

・あふれる
・氾濫する


とかです。





書籍画像
わわわ説明術コラム
宣伝だよ
わかばちゃんとつくって、壊して、直して学ぶ NewSQL入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた