No.761
最大桁数の整数に1未満の数値の加減算
例えば8桁の電卓で1000万と入力し、その後に0.1、もしくは0.9999999を加減算したらどのような結果が出るでしょうか。まずは8桁の電卓で確かめてください。もしお手元に12桁の電卓ならば1000億から0.1、もしくは0.と押して9を11入力後加減算してください。どうなりましたか。
写真は8桁の電卓の例であげています。どうでしょう?1000万のままで変わりませんね。写真にあげた電卓は定数計算は自動でなっていますので、そのまま=を押し続けてみてください。変わりませんね。ただ、GT メモリがついている電卓の場合、押し続けるとオーバーフローエラーが出るのでご注意を。
なぜ8桁の電卓で1000万 + 0.1が1000万点1にならないのでしょうか。また、0.9999999を引いて1000万未満にならないのでしょうか。不思議ですね。電卓の故障なのでしょうか?いいえ、違います。
例えば8桁の電卓の場合、表示できる数が小数も整数も含めて8桁です。電卓は整数を優先して出しますから、整数が8桁の場合、小数が入る余地がありません。1000万 + 0.1を行った場合、答えは1000万点1になりますが、これは小数を含めると9桁の数字になりますので上の桁から8桁までの数字を表示します。(表示桁からはみ出すと切り捨て)そのため1000万になります。また、定数計算で0.1を繰り返しても1000万 +0.1を繰り返すことになりますから、当然表示は1000万のままです。
引き算の場合も1未満は切り捨てられます。そのため、1000万から1未満の数字をいくら引いても1000万のままです。でも1000万から0.9引いたら99,999,999.1になって良さそうなものです。しかし1000万のままです。不思議ですね。
なぜなのかはそれぞれ調べてみてください。ヒントとしては浮動小数点演算や桁落ちを検索してみるといいでしょう。
例えば8桁の電卓で1000万と入力し、その後に0.1、もしくは0.9999999を加減算したらどのような結果が出るでしょうか。まずは8桁の電卓で確かめてください。もしお手元に12桁の電卓ならば1000億から0.1、もしくは0.と押して9を11入力後加減算してください。どうなりましたか。
写真は8桁の電卓の例であげています。どうでしょう?1000万のままで変わりませんね。写真にあげた電卓は定数計算は自動でなっていますので、そのまま=を押し続けてみてください。変わりませんね。ただ、GT メモリがついている電卓の場合、押し続けるとオーバーフローエラーが出るのでご注意を。
なぜ8桁の電卓で1000万 + 0.1が1000万点1にならないのでしょうか。また、0.9999999を引いて1000万未満にならないのでしょうか。不思議ですね。電卓の故障なのでしょうか?いいえ、違います。
例えば8桁の電卓の場合、表示できる数が小数も整数も含めて8桁です。電卓は整数を優先して出しますから、整数が8桁の場合、小数が入る余地がありません。1000万 + 0.1を行った場合、答えは1000万点1になりますが、これは小数を含めると9桁の数字になりますので上の桁から8桁までの数字を表示します。(表示桁からはみ出すと切り捨て)そのため1000万になります。また、定数計算で0.1を繰り返しても1000万 +0.1を繰り返すことになりますから、当然表示は1000万のままです。
引き算の場合も1未満は切り捨てられます。そのため、1000万から1未満の数字をいくら引いても1000万のままです。でも1000万から0.9引いたら99,999,999.1になって良さそうなものです。しかし1000万のままです。不思議ですね。
なぜなのかはそれぞれ調べてみてください。ヒントとしては浮動小数点演算や桁落ちを検索してみるといいでしょう。



