HIGASHIMURATA’s blog

東村田昭の備忘録

8÷2(2+2)=?(続2)

2(2+2)は(2+2)が二つあると言う表現だとコメントを頂いた。

すると8÷8で1になる。

これは、8÷2(2+2) を 8÷(2(2+2)) と書きかえることだろう。

2(2+2)を集合の表現で記号U、∩、Λ、⊂や、その他色々の記号が省略されれいるのかも知れない
 
と思いだしたが、如何せん、集合なんて、大学卒業後50年使ったこともない。
 
2(2+2)を2U(2+2)とすると、多分、値は2+2+2=6か?

2(2+2)を2∩(2+2)とすると、多分、値は2か?

しかし、カシオで電卓で種類が違えば答えが1になったり16になるというのを思い出した。

そこで、私の電卓にU、∩、Λ、⊂の記号があるか見たがない。

電卓でどう判断しているんだろう。

8÷2×(2+2)=8÷2×4

×を先に計算すると

8÷2×(2+2)=8÷8=1

小学校レベルの算数では、×と÷はどちらを先に計算しても良いはず。

例題を考えてみた。

6÷3×2=2×2=4・・・・・(1)

6÷3×2=6÷5=1・・・・・(2)

8や2の数値でないのに気付く。

6×3÷2=18÷2=9・・・・・(3)

6×3÷2=6×1.5=9・・・・・(4)

(1)と(2)は÷が左に

(3)と(4)は×が左に

×と÷が現れる順番によっては、計算の順番が決められるということだろう。

これを証明しないと駄目だが面倒でパス。多分、大学レベルの代数学の本に証明あると思う。

それと思いだしたのは、普通のコンパイラーと最適化コンパイラーによる計算値の違い。

最適化コンパイラーは×を先に計算してから÷を後にするように翻訳する。

カシオの電卓の種類で違う答えが出たというのは、コンパイラーの違い、1と出た方が

最適化コンパイラーを実装と思う。

私の経験は30年以上前に、最適化コンパイラーがリリースされた時のIBM370での経験。

モデルのバグが露見という効果もあった。

最終的には使用を止めたと記憶。理由は計算データがピターと以前の計算とあわなかったから。