Anfängerfrage: 0x1000 = 0x00001000?

#2902302
Lesenswert?

Im täglichen Leben lassen wir normalerweise führende 0-en weg, weil uns 
das zu viel Schreibaufwand ist.

Aber du hast sicher auch zb schon gesehen, dass bei Uhrzeiten zb bei den 
Minuten dann doch führende 0-en geschrieben werden. Wir schreiben 19:04 
und nicht 19:4 um sicher zu gehen, dass der Leser realisiert, dass hier 
wirklich 4 gemeint ist und nicht irrtümlich vierzig und nur die 
'hintere' 0 bei 40 weggelassen wurde.
Das ist also ein Fall, bei dem die führende 0, obwohl mathematisch 
eigentlich irrelevant uns tatsächlich hilft, Situationen zu bereinigen. 
Dadurch, dass wir die Minuten IMMER 2-stellig anschreiben, selbst wenn 
die erste Stelle eine 0 sein sollte, hilft uns das, Fehlinterpretationen 
zu vermeiden. Die führende 0, obwohl mathematisch eigentlich irrelevant, 
trägt dann doch subtil eine Botschaft mit sich.

Sicherlich kennst du auch noch andere Beispiele aus dem täglichen Leben.

und bei 0x00010000 (einer Hexadezimalzahl) schreibt man eben auch die 
führenden 0-en um damit klar zu machen: Hier hast du es mit einer Zahl 
zu tun, die aus 8 Stück Hex-Ziffern besteht, also alles in allem eine 32 
Bit Zahl ist, bei der eben das 12.te Bit eine 1 ist.

Geauso bei Bytes.
Willst du die Bitwerte eines Bytes anschreiben, welches den Wert 5 hat, 
dann schreibst du das in Binäschreibweise als 0b00000101 und stellst die 
einzelnen 8 Stück Bitwerte eines Bytes explizit dar, eben um zu zeigen: 
wir haben es mit einem Byte zu tun. Dieses wiegt schwerer als der 
Schreibaufwand, bzw. eigentlich der weggelassene Schreibaufwand von 
0b101. Der Minderaufwand ist im Vergleich dazu minimal.
Gast #2902303
Lesenswert?

super vielen vielen Dank für die klasse ausführliche Erklärung zu so 
später Stunde! Nun habe ich es auch endlich kapiert!
Da habe ich doch wirklich ziemlich auf dem Schlauch gestanden.
LG und schönen Abend noch
Gast #2902304
Lesenswert?

Vergiss aber bitte nicht, dass führende Nullen bei normalen Zahlen (kein 
0x, 0b davor) in C dazu führen, dass die Zahl als Oktalzahl 
interpretiert wird. Aus vermeintlicher Optimierung der Lesbarkeit kann 
daraus eine spaßige Fehlersuche werden ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren