Wieso funktioniert das? ;)
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