Erkennen ob eine Variable Zahl oder Buchstabe

Es war nicht der Fehler meines Lehrers, sondern meiner, natürlich is 32/8 4 aber seit wann sind char und int nicht gleichgroß?
 
Also Zusammenfassung:
char: immer 1 Byte
double: immer 8 byte
int auf x86 (was ist x32?): 4byte
int auf 64bit zeug: 8byte

und 8 BIT = 1 BYTE
 
Warum sollte sizeof(char) == sizeof(int) sein, wenn std::numeric_limits<char>::max() < std::numeric_limits<int>::max() ist?
 
Hallo,
Warum sollte sizeof(char) == sizeof(int) sein, wenn std::numeric_limits<char>::max() < std::numeric_limits<int>::max() ist?

ich denke das das nicht zwangshalber so sein muss. Auf einer Architektur wo pro Byte 32 Bit allokiert sind, kann es auch durchaus vorkommen das sizeof(char) == sizeof(int) ist, nämlich 1. Gewöhnlich ist zwar ein Byte als Oktett definiert, allerdings kann ein Byte definitionsgemäß auch mehr als 8 Bit besitzen.

Ryu1991 hat gesagt.:
... aber seit wann sind char und int nicht gleichgroß?

AFAIK definiert der Standard das sizeof(char) == 1 ist. Auf einer Architektur also wo gilt das ein Byte = 8 Bit sind, gilt meistens auch sizeof(char) < sizeof(int)

Gruß,
RedWing
 
Zurück