From: TunTun-m Date: 2007-07-14T17:30:42+09:00 Subject: つんつん といいます。(本名:うえま) irb と python のバグではないか、と考え戸惑っています。 -2^2^3 == (-2**2**3) を bc と irb と python で実行してみました。 --- bc -2^2^3 256 --- --- irb(main):001:0> -2**2**3 => -256 --- --- python >>> -2**2**3 -256 --- 考察してみます。 -2^2^3 = -2^8 = (-2)*(-2)*(-2)*(-2)*(-2)*(-2)*(-2)*(-2) = 256 256 が正しい気がします。(ほんと??かな) 考察が正しいとして -2^9 == -2**9 を実行してみます。 --- bc -2^9 -512 --- --- irb(main):001:0> -2**9 => -512 --- --- python >>> -2**9 -512 --- 以上二つの考察からして bc が正しくて irb, python は間違っているように思います。(ほんと??かな) 念のため市販の関数電卓で計算してみました。 '-', '2', '=', 'y^x', '8' '=' 結果: 256 '-', '2',   'y^x', '8' '=' 結果: -256 '2' の後に '=' を打つか打たないかで結果が違います。 よく分からなくなってしまいました。 市販の電卓は別として bc と 'irb python' どちらが正しいのでしょうか? ------------------ 横道にそれる bc では +1+1+1 は、エラーになって -1-1-1 は -3 になります。  +1+1+1 も計算できない bc の方が バグ?なのかな -------------------