Gibt es einen Datentyp, der genau 1 Byte groß ist?
-
Frage steht im Titel
Ich will eine gewisse Menge an speicher allozieren, auf dem ich dann die einzelnen Bytes lesen und schreiben kann. Wie mach ich das am besten?
-
sizeof(char)
-
sizeof(char) == 1. immer. überall.
allerdings muss ein char nicht 1 byte in konventionellen sinn groß sein.
aber im standard ist ein byte die größe eines chars
-
allerdings muss ein char nicht 1 byte in konventionellen sinn groß sein.
Meins du damit nun 1 Byte != 1 Byte?
-
Der C++ Standard definiert nicht wie viele bits ein byte haben musst, also kann char 32bit groß sein, obwohl man 8bit erwartet.
-
Ein Byte ist in ISO-C++ der Speicher, den ein char belegt. Ein char muss mindestens 8 Bit groß sein, mehr ist möglich. Es gibt Systeme, bei denen ein char 32 Bit groß ist. Deshalb gilt trotzdem sizeof(char)==1, dann ist eben das Byte auch 32 Bit groß.
Die konventionelle Bedeutung von Byte muss ich hoffentlich nicht erklären.
-
der Standard definiert ein Byte als kleinste Speichereinheit eines C++ Programms, das mindestens so groß ist, dass es alle Zeichen aus dem Basic Execution Character Set enthalten kann, dessen Bitanzahl aber implementation defined ist.
/edit: oje, viel zu langsam *g*
-
3mal hält besser
(hehehe, war aber erster :p )
-
Aber höchstens um 10 Sekunden
Ich hab vor dem Posten per Vorschau geguckt ob mir jemand zuvorgekommen ist.
-
Bashar schrieb:
Aber höchstens um 10 Sekunden
Ich hab vor dem Posten per Vorschau geguckt ob mir jemand zuvorgekommen ist.
das war vielleicht dein Fehler
:p
-
Jo