Rolf B: c Mathematik über Binary

Beitrag lesen

Hallo pl,

Ja %u ist mir schon klar.

vs

Nur beim Entwicklen irritiert es halt, daß ein unsigned int in der Printausgabe ein negatives Vorzeichen hat.

Wenn Dich das irritiert, ist es Dir wohl doch nicht klar.

Am Beispiel eines tiny int (1 Byte, uint8_t oder int8_t): Der Speicherinhalt 0xF6 bezeichnet als unsigned tiny den Wert 246, als signed tiny den Wert -10 (256-246).

printf sieht nur den Speicherinhalt. Ob 4 Bytes Speicher ein unsigned int, ein signed int, ein float oder ein char[4] Array repräsentieren, kann es nicht wissen. Diese Information steckt ausschließlich im Formatstring. Wie gesagt: Die Variant-Variablen aus PHP oder Perl sind etwas ganz anderes als die Byte-Dumps, die eine streng getypte Compilersprache in den RAM legt.

Rolf

--
sumpsi - posui - clusi