Ответ 1
TMS320C28x DSP из Texas Instruments имеет байт с 16 бит.
Документация для компилятора указывает CHAR_BIT
как 16 на стр. 101.
Это, кажется, современный процессор (в настоящее время продается), компиляторы, поддерживающие C99 и С++ 03.
Для стандарта ISO C требуется CHAR_BIT
не менее 8.
Если POSIX-мандат CHAR_BIT
будет равен 8 и (почти?) всем сетевым и коммуникационным стандартам с использованием октетов, существует ли какая-либо современная реализация C, где CHAR_BIT
> 8?
(Примечание: меня не интересуют исторические архитектуры компьютеров с использованием 18 или 36 бит слов. Это действительно вопрос о C, поскольку он используется сегодня на текущем оборудовании, подумайте о системах с реализацией C99 или более поздней версии).
TMS320C28x DSP из Texas Instruments имеет байт с 16 бит.
Документация для компилятора указывает CHAR_BIT
как 16 на стр. 101.
Это, кажется, современный процессор (в настоящее время продается), компиляторы, поддерживающие C99 и С++ 03.
Другим примером является семейство процессоров семейства SHARC Analog Devices CrossCore Embedded Studio содержит CHAR_BIT == 32
и , чтобы обеспечить автономные C99 и С++ 11.
Analog Devices SHARC DSP уже упоминался (CHAR_BIT == 32). Позвольте мне добавить, что последние ядра SHARC + (я использую ADSP-SC589 и инструментарий CCES) могут запускать приложения, написанные в двух режимах: CHAR_BIT == 8 или CHAR_BIT == 32. Вы можете даже mix'n'match использовать два режима в одном приложении. Хотя я бы не рекомендовал это для разработки в целом, я считаю это полезным при переносе кода.