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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.