2016-04-08 2 views
2

1バイト(8)にいくつのビットがあるかを反映するC/C++スタンドアント定数がありますか? CHAR_BITのようなものですが、バイトのものです。bits_in_byte(8)のような定数がありますか?

+1

これは、 'CHAR_BIT'があなたに伝えるものです。 charは1バイトです。 – Simple

+0

私は賢明なアプローチは、バイトが8ビットであると仮定することだと思います。そのため、あなたのプログラムはそうでないシステムでクラッシュするでしょう:そのようなシステムを使っている人にとって適切な罰です。 – Lundin

+1

'static_assert(8 == CHAR_BIT);を使用してください。ちょうど並んでいることは、起こるのを待っているセキュリティ上の問題です。 – Simple

答えて

6

C規格によると、charは1バイトです。したがって、CHAR_BITは1バイトのビット数です。

C標準はCHAR_BIT「ビット・フィールドではない最小のオブジェクト(バイト)のビット数」であると述べています。

関連する問題