共通科目情報処理(実習)、日本語・日本文化学類対象、1998年11月09日
電子・情報工学系
新城 靖
<yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/nitiniti2-enshu-1998//1998-11-09
/spread-sheet-int-limit.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo/
http://www.ipe.tsukuba.ac.jp/
「コンピュータ」というと、「間違わない」というイメージがあるかもしれせ ん。でも、簡単に間違うことがあります。ここでは、Excel で大きな数(整数) を使って、コンピュータを間違えさせてみる実験をしてみます。
Excel については、WWWページ か、 →手引き[165-222]を見て下さい。
数学では、「(X + 1) - X = 1」は、成り立ちます。しかし、コンピュータで は、成り立たないことがあります。ここでは、次のようにして調べてみます。
A列には、1,10,100,...., と数を入れる。
B列には、それぞれA列の内容に1を足したものを
入れる。
C列には、それぞれB列の内容から
A列の内容を引いたものを入れる。
C列には、1 が並ぶと思われます。
しかし、大きな数を入れると、そうはならなくなります。
次のように、操作してみて下さい。
A1 セルに 1 と打つ。
B1 セルに =A1+1 の結果を表示させる。
C1 セルに、=B1-A1 の結果を表示させる。
A2 セルに =A1*10 の結果を表示させる。
B2 セルに =A2+1 の結果を表示させる。
C2 セルに、=B2-A2 の結果を表示させる。
A2から C2をコピーする。
A3から C20を選択し、ペースト(張り付
け)する。
コンピュータの内部が2進数を使っていることを利用して、どのくらいの数ま できちんと間違いなく扱うことができるか調べなさい。この答えは、10進数で は、きりのよい数(1000とか100000000とか)にはならない。
それは、2進数で何桁(何ビット)になるか。
赤字国債の発行残高を Excel で計算すると、どんな楽しいことが起きるか。
ヒント:冪(累乗)を使って、2の0乗、2の1乗、2の2乗、2の乗、・・・と計
算する方法があります。Excel で、冪は、^という記号を使っ
て、書きます。2の10乗は、=2^10です。
ヒント:上の手順で、10倍ではなく2倍してみる方法もあります。