2学期テスト前の授業が終わった。少し前におもしろい話があったので紹介。
PenFlowchartで,整数を入力していろいろするプログラムを作っていたときのこと。生徒が20桁くらいある数を入力しようとしてエラーになるのはいつもの話。ところがある生徒が「9桁は大丈夫,10桁も大丈夫,11桁はダメ。1000000000は大丈夫,2000000000も大丈夫,3000000000はダメ…」と細かく調べだした。しばらくして「先生,入力できる限界って,2147…ですよね」「お前,暇なヤツだな。もう1回言ってみろ」「2147483647まではセーフです。2147483648はエラーになります」そこで2147483648とホワイトボードに書いて「Mが調べた結果によると,この数字以上だとエラーになるらしい。この限界ってどういうことだろう」と言うと,別の生徒が「2のn乗じゃね?」とつぶやいた。「だったらずーっと2で割り続けられるんだな,じゃあやってみるぞ」ということでやってみたのが画像。ぶっつけ本番でやったので,彼が言った数が違ってたらしまらない結果になったはずなのだが,うまくいって何より。
![2147483648をずーっと2で割ってみる 2147483648をずーっと2で割ってみる](/images/20121102.jpg)
「1,2,3,…これは数えてみたら2の31乗だ。実はPENの整数は32ビットなんだ。でも2の31乗だろ,あとの半分はどうした?」
だきわ wrote at 2012-12-06 09:05:
だきわ wrote at 2012-12-11 08:20:
わたやん wrote at 2012-12-11 09:44:
コメントの受付は終了しました。