アカウント名:
パスワード:
x3+y3+z3=kのような表現が出来ない場合、
べき乗の表現において^を使うのは、一般的なのでしょうか?
一般的です.
どう見ても排他論理和だが。
C++が流行り始めた頃、演算子オーバーロードの例で、operator^ をべき乗として定義する、というのをちょこちょこ見かけましたが
そのままべき乗のつもりで使うと、優先順位の問題ではまる罠が。べき乗数式的には、a+b^cはa+bcと解釈するべきだけど、C言語的には(a+b)^cと解釈されて、その優先順位は演算子オーバーロードでも変えられない…
式自体を表現できるクラスを作ればある程度は解決できるはず。a+bを保持するオブジェクトにXOR演算子でcが渡されたらa+b^cを保持する、と言うような。問題は意図的に(a+b)^cとした際にa+b^cと解釈されること………
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
べき乗 (スコア:0)
x3+y3+z3=k
のような表現が出来ない場合、
べき乗の表現において^を使うのは、一般的なのでしょうか?
Re: (スコア:0)
一般的です.
Re: (スコア:0)
どう見ても排他論理和だが。
Re:べき乗 (スコア:2)
C++が流行り始めた頃、演算子オーバーロードの例で、
operator^ をべき乗として定義する、というのをちょこちょこ見かけましたが
そのままべき乗のつもりで使うと、優先順位の問題ではまる罠が。
べき乗数式的には、a+b^cはa+bcと解釈するべきだけど、
C言語的には(a+b)^cと解釈されて、その優先順位は演算子オーバーロードでも変えられない…
Re: (スコア:0)
式自体を表現できるクラスを作ればある程度は解決できるはず。
a+bを保持するオブジェクトにXOR演算子でcが渡されたらa+b^cを保持する、と言うような。
問題は意図的に(a+b)^cとした際にa+b^cと解釈されること………