Berechnung Kann mir jemand erklären, warum .net ist diese unterschiedlich auf JavaVB .NET unterschiedlich auf Java
Die Gleichung
(-1646490243 << 4) + 3333^-1646490243 + -957401312^(-1646490243 >> 5) + 4
Java berechnet als
151
.Net Berechnung berechnet als
-574040108
Mein Problem ist, dass ich .Net dasselbe wie Java berechnen muss, da ich über eine Entschlüsselungsfunktion portiere, und wenn es anders berechnet, wird die Entschlüsselung nicht richtig sein.
Jede Hilfe wäre willkommen.
--Update--
Danke Jungs, war Xor, was ich mit von sollte. Außerdem muss eine Umgehung durchgeführt werden Java wird nicht ausgelöst, wenn eine Integer-Zahl zu groß ist.
Xor gibt ein Ergebnis von -3121757145
(-1646490243 << 4) + 3333 Xor -1646490243 + -957401312 Xor (-1646490243 >> 5) + 4
dies über diesen Link mit der Antwort Kombinieren ich gefunden - Java sum 2 negative numbers. Gibt das gleiche Ergebnis wie Java
-3121757145 + 2^32 =151
In Java '^' ist der 'XOR' Operator. Ich bin nicht mit VB vertraut, aber einige Google-Suchanfragen haben angedeutet, dass 'Xor' der xor-Operator ist und'^'für die Potenzierung in VB. Könnte das das Problem sein? – irrelephant