研究紀要第25号 学習指導に関する研究 - 045/060page

[検索] [目次] [PDF] [前] [次]

図 4
図 4

ダンプは本来「エラー等,緊急事態が生じたときに用いるもので,利用者が一般に用いるものではない」と言われている。
しかしながら,前述のプログラムで,もし「*」の位置がどのように格納されているのかを知らないでいれば,たとえば「R (T)⇒*」をFORMAT(A1)でグラフを画せても,何にも印字してくれない……という問題を解明することができないことになる。

ダンプの必要性にふれてみたが,話しをもとにもどして,16進法とその機械のハード的制約を理解していれば,つぎのような問題に答えることもできようという点にふれてみたい。
下のプログラムのWRITE文でA,B,Cの答えがおかしいのはなぜだろうか。

下のプログラムのWRITE文でA、B、Cの答えがおかしいのはなぜだろうか。
   12000.210   0.03   12000.230
   12000.210   0.03   12000.240

それは
(12000.210)10=0.2EEO35C28F5C28……×164
(0.03)10=0.7AE147AE14……×16-1

であるけれども,センターの機械では16進で実数単精度演算を行うと6桁の有効数字しかとれないので

コア・ダンプと16進

のようになる。
これを計算して,(10進)になおしてみると
(2×165+E×164+E×163+3×161+D×160)×16-2

   160 = 1
   161 = 16
   163 = 4096
   164 = 65536
   165 = 1048576

によって計算すると

コア・ダンプと16進

しかし,センターの機械は10進の場合7.2桁までしか有効でなく,また0.2桁以降は切り捨てることになっているため,ラインプリンタ上には

   12000.230

と印字されるのである。


[検索] [目次] [PDF] [前] [次]

掲載情報の著作権は福島県教育センターに帰属します。
福島県教育センターの許諾を受けて福島県教育委員会が加工・掲載しています。