Vieles hätte ich verstanden, wenn man es mir nicht erklärt hätte. – Stanislaw Jerzy Lec
5 Mathematisches
5.1 Repräsentation ganzer Zahlen – das Zweierkomplement 

Das Zweierkomplement definiert für positive und negative Ganzzahlen folgende Kodierung:
- Das Vorzeichen einer Zahl bestimmt ein Bit, welches 1 bei negativen und 0 bei positiven Zahlen ist.
- Um eine 0 darzustellen, ist kein Bit gesetzt.
Java kodiert die Ganzzahldatentypen byte, short, int und long immer im Zweierkomplement. (Der Datentyp char definiert keine negativen Zahlen.) Mit dieser Kodierung gibt es eine negative Zahl mehr als positive, da es im Zweierkomplement keine positive und negative 0 gibt, sondern nur eine »positive« mit der Bitmaske 0000…0000.
Dezimal | Binär | Hexadezimal |
–32.768 |
1000 0000 0000 0000 |
80 00 |
–32.767 |
1000 0000 0000 0001 |
80 01 |
–32.766 |
1000 0000 0000 0010 |
80 02 |
... |
||
–2 |
1111 1111 1111 1110 |
FF FE |
–1 |
1111 1111 1111 1111 |
FF FF |
0 |
0000 0000 0000 0000 |
00 00 |
1 |
0000 0000 0000 0001 |
00 01 |
2 |
0000 0000 0000 0010 |
00 02 |
... |
||
32.766 |
0111 1111 1111 1110 |
7F FE |
32.767 |
0111 1111 1111 1111 |
7F FF |