int -> char -> hex

Gast #3334407
Lesenswert?

1) Welchen Wertebereich/Bitbreite hat ein unsigned char?
2) Welchen Wertebereich/Bitbreite hat ein unsigned int?
3) Was ist (unsigned int)257 in hex-Schreibweise ?
4) Was bleibt über, wenn man das auf einen unsigned char castet?
#3334412
Lesenswert?

"6.3.1.3 Signed and unsigned integers
1 When a value with integer type is converted to another integer type 
other than _Bool, if the value can be represented by the new type, it is 
unchanged.
2 Otherwise, if the new type is unsigned, the value is converted by 
repeatedly adding or subtracting one more than the maximum value that 
can be represented in the new type until the value is in the range of 
the new type.
3 Otherwise, the new type is signed and the value cannot be represented 
in it; either the result is implementation-defined or an 
implementation-defined signal is raised"
Gast #3334423
Lesenswert?

1) Welchen Wertebereich/Bitbreite hat ein unsigned char?

0 - 256 / 8 Bit
2) Welchen Wertebereich/Bitbreite hat ein unsigned int?

0 - (2^32)-1 / 32 Bit
3) Was ist (unsigned int)257 in hex-Schreibweise ?
101?

4) Was bleibt über, wenn man das auf einen unsigned char castet?

eine '1', erste oder letzte stelle vom hex?
Gast #3334561
Lesenswert?

Es gibt Prozessor-Architekturen (TI 28xx), bei denen ist auch unsigned 
char 16 Bit breit.
Auf dem Proezessor kommt also 257 heraus.

Wenn in einer Klausur solche Dinge gefragt werden, dann muss da auch 
definiert sein, wieviele Bits ein unsigned int und ein unsigned char 
hat.

Im C-Standard ist nicht festgelegt, dass char 8 Bit haben muss.

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