2016-04-08 15 views
2

Gibt es in C/C++ Standart-Konstante, wie viele Bits gibt es in einem Byte (8)? Etwas wie CHAR_BIT, aber für Byte.Gibt es eine Konstante so etwas wie bit_in_byte (8)?

+1

Das sagt 'CHAR_BIT' Ihnen. Ein Zeichen ist ein Byte. – Simple

+0

Ich denke, der vernünftige Ansatz ist anzunehmen, dass ein Byte 8 Bits ist. Denn dann werden Ihre Programme auf Systemen abstürzen, wo es nicht ist: eine angemessene Strafe für Leute, die solche Systeme benutzen. – Lundin

+1

Oder verwenden Sie 'static_assert (8 == CHAR_BIT);' Nur ein Trolling ist ein Sicherheitsproblem warten auf. – Simple

Antwort

6

Nach dem C-Standard ist ein char ein Byte. Daher ist CHAR_BIT die Anzahl der Bits in einem Byte.

Der C-Standard besagt, dass CHAR_BIT"Anzahl der Bits für das kleinste Objekt, das kein Bit-Feld (Byte) ist".