Количество бит в байте - стандарт C
Почему что-то столь же фундаментальное, как число бит в байте, поддерживается реализацией, определенной стандартом C? Есть ли примеры, где это может быть полезно?
от C99, 3.6 (доступна здесь ссылка)
3,6 байт
адресуемая единица хранения данных, достаточно большая, чтобы вместить любой элемент базового набора символов среды выполнения
ПРИМЕЧАНИЕ 1. Можно выразить адрес каждого отдельного байта объекта однозначно.
ПРИМЕЧАНИЕ 2. Байт состоит из непрерывной последовательности битов, число которых определяется реализацией. Младший значащий бит называется младшим битом; старший бит называется старшим битом.
РЕДАКТИРОВАТЬ: я спрашивал кое-что фундаментальное, почему стандарт C дал гибкость в количестве битов в размере байта. Не спрашивая о sizeof(char) более конкретно, в чем выгода CHAR_BIT!= 8. Если вопрос все еще кажется дублирующим, пожалуйста, проголосуйте вниз, и я закрою вопрос.
1 ответ
Многие старые машины и современные DSP имеют байты большего размера (например, они могут адресовать память только кратными, скажем, 16 битам). Конечно, вы не хотите упускать важный сегмент встроенного мира.