.netがこれらをJavaとは異なる方法で計算している理由を誰かが私に説明できますか
方程式
(-1646490243 << 4) + 3333 ^ -1646490243 + -957401312 ^ (-1646490243 >> 5) + 4
Javaはそれを次のように計算します
1173210151
.Netは次のように計算します
-574040108
私の問題は、復号化関数を介して移植しているJavaと同じように.Netを計算する必要があることです。計算方法が異なると、復号化が正しく行われません。
どんな助けでもいただければ幸いです。
- アップデート -
みんなありがとう、Xorは私が使うべきものでした。さらに、整数が大きすぎる場合に例外をスローしないようにJavaを回避する必要があります。
Xorは-3121757145の結果を出します
(-1646490243 << 4) + 3333 Xor -1646490243 + -957401312 Xor (-1646490243 >> 5) + 4
これを私が見つけたこのリンクからの答えと組み合わせてください-Java合計2の負の数。Javaと同じ結果が得られます
-3121757145 + 2 ^ 32 = 1173210151