Wie kann ich in Java einen long in int umwandeln?
Antworten
Zu viele Anzeigen?
Emdadul Sawon
Punkte
5122
YrvCodes
Punkte
21
user13651274
Punkte
1
Daniel Tam
Punkte
41
ryuik
Punkte
49
Ich füge ein paar wichtige Details hinzu.
Im Grunde genommen schneidet Java folgende Dinge ab long
nach 32 Bits, so dass ein einfaches Typecasting den Zweck erfüllt:
long l=100000000000000000l;
System.out.println(Long.toString(l,2));
int t=(int)l;
System.out.println(Integer.toString(t,2));
Welche Ausgaben:
101100011010001010111100001011101100010100000000000000000
1011101100010100000000000000000
für l=1000000043634760000l
es ausgibt:
110111100000101101101011110111010000001110011001100101000000
-101111110001100110011011000000
Wenn wir dies umrechnen -101111110001100110011011000000
im echten Zweierkomplement erhalten wir den exakten 32-Bit-Wert mit Vorzeichen, der von der long
.