Стандарт не знает этого слова, используемого процессорами. Но он говорит, что тип "int" должен иметь естественный размер для среды выполнения. Но даже для 64-битных сред int обычно всего 32 бита. Таким образом, «слово» в стандартных терминах практически не имеет общего значения (кроме общепринятого английского слова «конечно»).
Размер символа - это размер символа. Зависит от того, о каком персонаже вы говорите. Типы символов: символ, символ без знака и символ со знаком. Также wchar_t используется для хранения символов, которые могут иметь любой размер (определяется реализацией - но должны использовать один из целочисленных типов в качестве базового типа. Очень похоже на перечисления), в то время как char / Signar Char или unsigned char должен иметь один байт. Это означает, что один байт имеет столько же бит, сколько один символ. Если реализация говорит, что один объект типа char имеет 16 битов, то байт также имеет 16 битов.
Теперь байт - это размер, который занимает один символ. Это единица, а не какой-то конкретный тип. В этом нет ничего особенного, только то, что вы можете получить доступ к памяти. Т.е. у вас нет доступа указателя к битовым полям, но у вас есть доступ к блокам, начинающимся с одного байта.
«Целочисленный размер» теперь довольно широк. Что вы имеете в виду? Все bool, char, short, int, long и их неопубликованные аналоги являются целыми числами. Их диапазон - это то, что я бы назвал «целочисленным размером», и он задокументирован в стандарте C - принят стандартом C ++. Для знакового символа диапазон составляет от -127 <-> 127, для short и int он одинаков и равен -2 ^ 15 + 1 <-> 2 ^ 15-1, а для длинных - -2 ^ 31 + 1 < -> 2 ^ 31-1. Их числа без знака варьируются от 0 до 2 ^ 8-1, 2 ^ 16-1 и 2 ^ 32-1 соответственно. Это, однако, минимальные размеры. То есть, int не может иметь максимальный размер 2 ^ 14 на любой платформе, потому что это, конечно, меньше 2 ^ 15-1. Из этих значений следует, что требуется минимум битов. Для char это 8, для short / int это 16 и long для 32. Представление с добавлением двух для отрицательных чисел не требуется, поэтому отрицательное значение не -128
вместо -127
, например, для подписанный символ.