Warum ist bool 1Byte groß? würde 1Bit nicht reichen??
-
Hallo,
Mal wieder ne dumme Frage:
Bool nimmt doch nur die Werte 1 und 0 an. Warum ist es dann
von Nöten, daß es 1 Byte verbraucht?Wie könnte man denn ein einzelnes Bit abspeichern? (wo man
halt nur 0 und 1 abspeichern kann)
Geht das überhaupt?Gruss
-
Weil 1 Byte der kleinste addressierbare Speicherbereich ist.
-
Hi,
man könnte ein Bit zwar als Datentyp simulieren, das würde aber keinen Sinn machen, da im Normalfall sowieso genug Speicher da ist und es langsamer wäre Bits zu kopieren als Bytes, weil man das eben auch wieder simulieren müsste.
So eine Simulation gibt es allerdings für nötige Zwecke auch in C++ und es nennt sich bitset.
Mehr ist dazu nicht zu sagen, entsprechende Quellen sind wohl bekannt.MfG Eisflamme
-
std::vector<bool> steckt auch 8 bools in ein Byte.
-
NervNet schrieb:
Hallo,
Mal wieder ne dumme Frage:
Bool nimmt doch nur die Werte 1 und 0 an. Warum ist es dann
von Nöten, daß es 1 Byte verbraucht?
Grussbool ist ein Ganzzahltyp und nimmt alles mögliche an. 0 ist false und alles andere true.
-
kurze, logische Antwort!
danke!
-
nee, bool in C++ nimmt nur 1 oder 0 an.
-
Nein, nur true und false. Er kann aber nach int gecastet werden (auch implizit).
-
na du bist echt der held
ah, aber ok. Habe die Aussage von ":)" erst falsch interpretiert.