Hallo mathe_97, die Datentypen werden von den "Compilererfindern (früher)" und Normungsgremium (IEEE) festgelegt. Bei den Ganzzahltypen hängt der Wertebereich vom Bitumfang ab und bei den Gleitkommazahlen noch von der Aufteilung der verwendeten Speicherbits in Exponent / Mantisse. Ganzzahlige Typen haben sich aus den Prozessorarchitekturen entwickelt. char = 8 Bit, short = 16 Bit, long = 32 Bit long long = 64 Bit. int ist nicht festgelegt. int repräsentiert die Bitzahl mit der der Prozessor am einfachsten umgehen kann. Heute meist 32 Bit, früher eher 16 Bit. Für alles was der Prozessor nicht von Hause aus kann muss der Compilerbauer eine interne Funktion zur Verfügung stellen. So kann dann auch ein 8 Bit Prozessor long Berechnungen ausführen. Gruß jobe
EDIT10.11.21 22:22
Größe und Wertebereich hängen von der Anzahl der verwendeten Bits ab. Die Größe ist immer 2 hoch Anzahl der verwendeten Bits. 8 Bit = 1 Byte = unsigned char = 2^8 = 256 = 0 - 255. 16 Bits = 2 Byte = unsigned short = 2 ^16 = 65536 = 0 - 65535 usw. Mit Vorzeichen wird das oberste Bit als Vorzeichen benutzt. Bit = 0 = positiv, Bit = 1 = negativ. Dann gibt es bei 8 Bit 127 bis -128 und bei 16 Bit 32767 bis - 32768.
Sonstiger Berufsstatus, Punkte: 505