Что такое «байт» в C / C ++ - PullRequest
19 голосов
/ 28 ноября 2011

Например, вот ссылка на фред:

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

Считывает массив элементов count, каждый из которых имеет размер "size bytes" ... Так сколько бит будет читать fread(&x, 1, 1, stream)? Восемь или CHAR_BIT?

Ответы [ 2 ]

27 голосов
/ 28 ноября 2011

C99, §3.6:

байт

адресуемая единица хранения данных, достаточно большая, чтобы вместить любой элемент базового набора символов среды выполнения

и §5.2.4.2.1:

CHAR_BIT - количество бит для наименьшего объекта, который не является битовым полем (байт)

Таким образом, «байт» содержит CHAR_BIT битов.

17 голосов
/ 28 ноября 2011

CHAR_BIT. Битовая ширина байта определяется реализацией и доступна разработчику через макрос CHAR_BIT.

...