Hi,
Nach einigem Tüfteln habe ich eine Funktion gebastelt, welche mir einen C "unsigned int" in einen java "long" Datentyp umwandelt:
Code:
long UIntToLong(int i) {
return i & 0xFFFFFFFFL;
}
Was mir dabei allerdings nicht klar ist, ist wieso der obige Code funktioniert.
Wird nicht, bevor dir mask-operation ausgeführt wird, das int implizit nach long gecastet?
Würde dabei nicht das vorzeichenbit ganz nach vorne rutschen und die anschließende Maskierung nutzlos werden?
Bitte erleuchtet mich
Danke im Vorraus
Lesezeichen