ホームページ >Java >&#&チュートリアル >Java の `^` 演算子は何をしますか?また、累乗との違いは何ですか?
Java では、^ 演算子は排他的論理和 (「xor」) 演算子として機能します。べき乗とは異なり、整数値に対してビット単位で演算します。
XOR 演算子は、2 つの 2 進数の対応するビットを比較します。各ビットについて:
5 (101) の XOR 演算を考えます。 2 進数で) および 6 (2 進数で 110):
(decimal) (binary) 5 = 101 6 = 110 ------------------ xor 3 = 011
結果のビット パターン 011 は、10 進数値 3 を表します。
Java には欠落しています整数のべき乗演算子。べき乗を実行するには、Math.pow(double, double) (必要に応じて int にキャスト) を使用できます。
あるいは、ビット シフト トリックを利用して 2 のべき乗を効率的に計算できます: (1L << ; k) は、0 ~ 63 の範囲の k の 2 の k 乗に相当します。
数字の文字列を整数に変換する特定のケースでは、Horner のスキームを使用できます。この方法はシンプルかつ効率的です:
8675309 = 8*10^6 + 6*10^5 + 7*10^4 + 5*10^3 + 3*10^2 + 0*10^1 + 9*10^0 = (((((8*10 + 6)*10 + 7)*10 + 5)*10 + 3)*10 + 0)*10 + 9
初期結果 0 から開始します。左から右に数字を読み取り、各ステップで 10 を掛けて現在の数字を加算することで結果を累積します。
以上がJava の `^` 演算子は何をしますか?また、累乗との違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。