Что такое "байт" в C/С++
Например, здесь ссылка для fread:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
Считывает массив элементов count, каждый из которых имеет размер "size bytes"...
Итак, сколько BITS будет читать fread(&x, 1, 1, stream)
? Восемь или CHAR_BIT
?
Ответы
Ответ 1
C99, §3.6:
байт
адресуемый блок хранения данных, достаточно большой, чтобы содержать любой элемент базового набора символов среды выполнения
и §5.2.4.2.1:
CHAR_BIT - количество бит для наименьшего объекта, который не является битовым полем (байтом)
Таким образом, "байт" содержит бит CHAR_BIT
.
Ответ 2
CHAR_BIT
. Ширина бита байта определяется реализацией и доступна разработчику с помощью макроса CHAR_BIT
.