2017-07-06 3 views
-2

js関数をJavaに変換しようとしていますが、JavaでJS Bitwise演算子を使用する方法がわかりません。JS Bitwise Operator to Java

私はこれを翻訳する必要があります。

var r = '0x' + a.substring(j, 2) | 0 and ('0x' + a.substr(j, 2)^r)

は誰もが今までそれをやっていますか?

ありがとうございます!

+1

文字列に対して 'ビット単位または'は何をしますか? – byxor

+1

@byxorはNumberへの引数を折りたたんで(デフォルトは0)、次にこれらの数値に操作を適用しているようです。 – Aaron

+0

奇妙な崩壊のルール。 '[1]'は '1'に、' [2] 'は' 2'に崩壊しますが、 '[1,2]'は '0'に崩壊します。 JS開発者にとってはたぶん一般的な知識かもしれませんが、確かに不思議な気分になります。 – Aaron

答えて

0

まず、文字列解析とビット演算子を別々のステップに分けます。

(!ビヨンは、先に指摘した。彼らはJavascriptで行うようにビット演算子には、Javaで自動キャストをしないでください)

をそう

'0x' + a.substring(j, 2) 

は次のようになります。

べき
String foo = '0x' + a.substring(j, 2); 
int value = Integer.parseInt(foo, 16); 

文字列で表される16進数を取り出し、それをintに移動します。一度intとして取得したら、Javaのビット演算子をうまく使うことができます。