ゆめキララキッズスクール

コラム

プログラミングミニ講座:オーバーフロー【プロボ】

こんにちは、プログラミングスクールPROBO(プロボ)講師の青柳です。

プログラミングでのレッスンでは、時折テキストにない技術やテクニックの紹介を行う事があります。
今回ご用意したものもレッスン用の小ネタの一つ、「ボタンを押すと数字が1億増えるだけのプログラム」です。

9d9b294351d41e7c1342caf5e66a4857

ボタンを押せば押すほど、1億2億……13億14億……と増えていきます。

プログラミング経験者ならばこのアプリがどういう実験のためのものか、見ただけでわかるかもしれません。
さて、更に数を増やしていきましょう。
20億…… 21億……

9ee6166b0561487cff277a96deb5cf28

お次は22億かな。更に増やすと……

4222a5ba0d63262cdabcac64817771aa

!!!!????
なんじゃこりゃ? 一気にマイナス20億になっちゃった!?

 

生徒に「何でかわかるかな?」と質問をすると、推測ながらほぼ正解を言ってくれる子がいました。
その生徒の回答は「保存できる数字に限界があるからバグっちゃった?」というもの。
その通りです!

一般的に整数の保存に使われるint型(データの入れ物)は、約マイナス21億~プラス21億ほどの範囲の数字しか保存ができません。
ですので「21億しか入らない器に22億を無理やり入れてしまったので、データが溢れておかしくなった」といった症状になります。
これをプログラミングの用語としては「オーバーフロー」と呼びます。
テキストで変数(数値の保存)についての説明はありますが、この上限下限やオーバーフローについては細かな説明がなかったため補足として解説を行いました。

 

プロボでは常時、体験レッスンを受付中です!

プロボでは小学校1年生から高校生のコースまで、一年を通して体験レッスンを受け付けています。
ご興味がある方はぜひ「コース案内」→「プログラミングスクール プロボ」のページをご覧ください。
授業内体験のお申し込みは「お問い合わせ」よりどうぞ!

プロボ紹介ページ