ここから本文です

べき乗の演算子についての質問です。perlではべき乗の演算子として**がありますが...

pko********さん

2016/11/720:05:09

べき乗の演算子についての質問です。perlではべき乗の演算子として**がありますが、2**2**3という計算をperlですると、256という結果になりました。

しかしExcelで、=2^2^3という計算を実行すると、64という結果になりました。演算子の結合性の観点から、実行結果の違いについての説明をお願いします。

閲覧数:
281
回答数:
1

違反報告

ベストアンサーに選ばれた回答

kaz********さん

2016/11/720:19:24

同じ2項演算子が続いた時、左右どちらから演算するかを表す、左結合、右結合という言葉があります

演算子opが右結合の時
x op x op x=x op (x op x)
左結合の時
x op x op x=(x op x) op x
が成り立ちます

perlの**は右結合なので
2**2**3
2**(2**3)
2**8
256

Excelの^は(多分)左結合なので
2^2^3
(2^2)^3
4^3
64

となります

  • kaz********さん

    2016/11/720:22:31

    ちなみに、結合によって演算結果が変わる可能性がある場合(/とかも)、ちゃんと()でくくる(グループと言います)方が親切です

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2016/11/7 20:33:19

早速の返信ありがとうございます。とても分かりやすかったです。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる