- ベストアンサー
数の累乗についての質問です
a^b^c についての質問です。 a^b^c が a^(b^c) の意味であって (a^b)^c の意味ではない ということをきちんと説明している書籍ないしはリンク先を知っていたら教えてください。 気になって探してみたのですがわかりませんでしたのでよろしくお願いします。 たとえば昔なにかの参考書で見たことがあるという情報でもかまいません。そういえば見たことがないということもあわせて回答していただければさいわいです。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
Wikipedia 演算子の優先順位 http://ja.wikipedia.org/wiki/演算子の優先順位 | 冪指数が積み重なっている場合、一番上の冪乗から計算する。 と説明ありました
その他の回答 (7)
- uyama33
- ベストアンサー率30% (137/450)
No6 さんへ、おっしゃるとおりです。 右から先に計算するとしておくと便利なことがあります。 対数の底を3として x=log(log(log(log(y)))) をyについて解くときには 左から優先にすると 括弧が沢山必要です。 右側優先だと括弧なしで書けます。 規則をどこで見たかは忘れましたが、右から計算すると覚えています。
1行で書くために起こる曖昧性ですね。 定義は全く確立されていません。個々人の流儀はあるでしょうから、こうするのだという主張は見つかるかもしれません。そして、おそらく異なる流儀が見つかるでしょう。どれか一つだけを正しいとすることは不可能です(よく泥沼に陥る議論になる)。 累乗を数の右上に小さい文字で書く流儀でも曖昧性は残ります。以下、「ロ」は文字がずれないようにするため使いますので、空白だと思ってください。 ロロ5 ロ4 2 は、2^4を5乗するのか、4^5乗した数での2の累乗なのか、はっきりしません。どちらなのか、カッコを使って明示すべきです。右肩に小さく数を書くんだから小さい数を先に、あるいは後でなどと言ってみても仕方ありません。 ましてや、1行で書くとき、何の前提もなく、a^b^cと書くのはよくないのです。きちんと、カッコを使って演算順序が分かるように書くべきものです。それが頻繁に出てきて、もしカッコを省略したいなら、必ず一時的な定義をしておく必要があります。 数学上の定義ではないですが、慣習として乗除は加減より先にするというものはあり、断りなしに使っても、たいていは大丈夫です(例外としては、四則電卓の使い方などがあるかも)。それ以外は、一意に定まるように書くべきです。 P.S. 同様のものに、6÷2(1+2)とか(1か9か?)、a÷ab(bか1/bか?)などがあります。これらも、カッコを使うか、割算を上下に数を書く分数表記にして、演算順序の曖昧さを無くしておく必要があります。 ただ、一連の式変形の中でそういう表記が一時的に現れ、その前後からどうしているのか明らかなときは、それほど問題とはなりません。
- Tacosan
- ベストアンサー率23% (3656/15482)
Excel が FORTRAN の規則に従わなければならないという理由はなにもないよね>#5.
- uyama33
- ベストアンサー率30% (137/450)
http://www.xlsoft.com/jp/products/intel/cvf/docs/vf-html/lr/lr04_01_01.htm には、 同じ優先順位の演算子は,左から右の順序に評価されます。ただし,べき乗は右から左に評価されます。たとえば,A**B**C は A**(B**C) のように評価されます。つまり,B**C が先に評価され,結果として得られた値を使って A のべき乗が計算されます。 とあります。 エクセルの構文解析が間違っていると考えます。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
質問がよくわからないのですが・・・ 表記の問題) テキストで a^b^c と表記されている場合、それをa^{b^{c}}と解釈するのか、(a^{b})^{c}と解釈するのか・・・と言う点については、意図を明確にするように区別して書かないとならない。 Texだと、a^{b^{c}} または、(a^{b^})^{c} と必ず区別する必要があります。 テキストで、a^bと言うのは、Tex流儀を流用したものですから、略せないときは略してはなりません。 MathMLだと <math xmlns="http://www.w3.org/1998/Math/MathML"> <mstyle displaystyle="true"> <msup> <mrow> <mi>a</mi> </mrow> <mrow> <msup> <mrow> <mi>b</mi> </mrow> <mrow> <mi>c</mi> </mrow> </msup> </mrow> </msup> </mstyle> </math> と書かなければ、ならないです。(半角スペースは全角に置換してある)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ そのうえで、a^{b^{c}} と (a^{b^})^{c} が同じか異なるかは、累乗の定義から a^{b^{c}} = a * a * a *・・・・a |← b*b*b*(c回) →| (a^{b^})^{c} = (a * a * a *・(b回)・・* a) * (a * a * a *・(b回)・・* a)・・C回・・ と、異なります。 具体的には 5^{3^{2}} = 5^{27} = 5*5*5*・・*5 = 7450580596923828125 (5^{3})^{2} = 125^{2} = 15625 結論から言うと、a^b^cという表記が誤り。もしa^{b^{c}} と (a^{b})^{c}が同じかと言われると異なる。 [HTML5] firefoxなどmathML可能なブラウサで!!。タブは_に置換してあるので戻す。 <!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> _<section> __<p style="font-size:3em;text-align:center;"> ___<math xmlns="http://www.w3.org/1998/Math/MathML"> ____<mstyle displaystyle="true"> _____<msup> ______<mrow> _______<mi>a</mi> ______</mrow> ______<mrow> _______<msup> ________<mrow> _________<mi>b</mi> ________</mrow> ________<mrow> _________<mi>c</mi> ________</mrow> _______</msup> ______</mrow> _____</msup> ____</mstyle> ___</math> __</p> _</section> </body> </html>
- shuu_01
- ベストアンサー率55% (759/1365)
No.1 です Wikipedia で説明されている数学の演算子の計算順序は No.1 の通りですが、 Excel で計算させてみると、 a^b^c は (a^b)^c の順で計算されていました 演算子の種類 Excel 数式内での計算順序 http://office.microsoft.com/ja-jp/excel-help/HP010078886.aspx 演算子の優先順位 1 つの数式で複数の演算子を使用する場合、次の表に示した順序で計算が実行されます。数式に同順位の演算子が含まれる場合 (たとえば、乗算演算子と除算演算子が含まれる場合)、左から右の順に計算が実行されます。 ~~~~~~~~~~~~~~~~~~~~~~ とのことです Excel だけでなく、他のプログラミング言語でも左から右のがありそうです
- Tacosan
- ベストアンサー率23% (3656/15482)
本来べき乗は #1 の図にあるように指数を右肩に乗せて表し, その場合にはほぼまぎれようがありません (「見ればわかる」レベル). しかし, テキストではそのような書き方ができないので質問にあるように a の b乗を a^b と表す ことがよくあります. ただ, 「a^b^c」と書くのは誤解を生じる可能性があるので避けるべきでしょう. きちんと括弧をつけて a^(b^c) とか (a^b)^c とか書くのが親切というものです. しいて言えば (a^b)^c は a^(bc) と書きなおせるのでわざわざべき乗を重ねる必要もない, というくらいか? ちなみに FORTRAN のべき乗演算子 ** は右結合. TeX では「a^b^c」と書くとおこられます.
お礼
ありがとうございます。リンクで確認できました。