Hallo,
kann mir jemand bitte einfach erklären, warum aus ~23 eine -24 Zahl wird?
Beispiel: echo ~23 //Ausgabe -24
Ich habe das so verstanden:
Zuerst schreiben wir 23 (binär) auf:
128/64/32/16/8/4/2/1 (TABELLE)
0 0 0 1 0 1 1 1 = 23
Jetzt flippen wir die Zahlen:
1 1 1 0 1 0 0 0 (MSB wird anscheinend automatisch gesetzt?) und addieren eine 1:
1 1 1 0 1 0 0 0
+
0 0 0 0 0 0 0 1
=
1 1 1 0 1 0 0 1
Um jetzt herauskriegen, welcher Zahl das laut TABELLE entspricht, muss man die Zahl wieder flippen:
0 0 0 1 0 1 1 0 = (minus)22
Also ich komme auf 22 und nicht 24.
Ich habe diese Seite http://www.cl.uni-heidelberg.de/kurs...l/page014.html benutzt.
Vielen Dank!
kann mir jemand bitte einfach erklären, warum aus ~23 eine -24 Zahl wird?
Beispiel: echo ~23 //Ausgabe -24
Ich habe das so verstanden:
Zuerst schreiben wir 23 (binär) auf:
128/64/32/16/8/4/2/1 (TABELLE)
0 0 0 1 0 1 1 1 = 23
Jetzt flippen wir die Zahlen:
1 1 1 0 1 0 0 0 (MSB wird anscheinend automatisch gesetzt?) und addieren eine 1:
1 1 1 0 1 0 0 0
+
0 0 0 0 0 0 0 1
=
1 1 1 0 1 0 0 1
Um jetzt herauskriegen, welcher Zahl das laut TABELLE entspricht, muss man die Zahl wieder flippen:
0 0 0 1 0 1 1 0 = (minus)22
Also ich komme auf 22 und nicht 24.
Ich habe diese Seite http://www.cl.uni-heidelberg.de/kurs...l/page014.html benutzt.
Vielen Dank!

.
Kommentar