Formatzeichen bei Wertezuweisungen im C-Code

#4633377
Lesenswert?
• ▲
▼
Da die C-Freaks ,mit 0x eine folgende Hexzahl (Sedezimalzahl) 
ankündigen, verstehe ich das so, dass die Hex-Zahl 00008F gemeint ist, 
also dezimal 143.

Natürlich ist es üblich, die Sedezimalziffer F groß zu schreiben, aber 
die C-Leute nehmen halt völlig willkürlich irgendwelche Tasten, und wenn 
ihnen die shift-Taste zu lästig ist, dann schreiben sie eben ohne shift. 
(Das zum Thema C-Syntax)

Wenn das f irgendetwas andres bedeuten sollte, ist das wieder ein 
Beispiel dafür, dass die C-Syntax von irgendwelchen Idioten erarbeitet 
wurde.
Gast #4633408
Lesenswert?
• ▲
▼
Nochmal gegenübergestellt.

uint16_t = 0x12AB; --- Mit dem Prefix "0x" wird eine hexadezimale Zahl 
eingeleitet. Die zulässigen Ziffern sind: 
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f.
Das 'f' ist damit kein Suffix sondern eine Ziffer, auch wenn es ganz 
rechts steht.
Um diesen Fall handelt es sich in Deinem Eröffnungspost.
"Formatzeichen" hingegen sind die Zeichen die in einem printf oder scanf 
- "Formatstring" stehen, um anzugeben wie eine Zeichenfolge 
interpretiert werden soll.

und

uint16_t = 1234; --- Ohne jeden Prefix wird eine dezimale Zahl 
gekennzeichnet. Die zulässigen Ziffern sind: 0,1,2,3,4,5,6,7,8,9.

Hingegen ist:

float a = 30.0f; -- Ohne Prefix, wieder Dezimal mit den erwähnten 
Ziffern und einem zusätzlichen Punkt. Das 'f' ist keine Ziffer, sondern 
ein Suffix, der angibt, dass der Compiler die Zahl nicht als double 
sondern als float zu interpretieren hat.

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