負数の二乗


[tag:]

良識のある計算者であれば、-10^2=-100だと答えるはずだが、 どうやら世の中の表計算ソフトでは-10^2=100とするのが常識のようだ。

  1. Microsoft Office Excel2013
  2. LibreOffice Calc version4.4.3.2
  3. Googleスプレッドシート(本日付)

のいずれも、セルに「=-10^2」を入力すると(-10)^2と解釈され 「100」が表示される。
問題なのは、「=-10^2」は「100」なのに、「=10^2-10^2」は「0」であり、 「=-10^2+10^2」は「200」になることだ。
もはや不快感を覚えるレベルで適当だ。

こういう場合にプログラミング界隈で使用される説明は決まって 「歴史的経緯により for historical reasons」である。
便利な言葉だ。

p.s.
Googleスプレッドシートのバージョンはどこで確かめられるのだろう。
ソフトウェアのバージョンが特定できないのはバグや仕様変更への 追従が非常に困難になるため問題だと思うのだが。