koala написав:У мене колись був довідничок з таблицею архітектур, там було що завгодно, включно з 9 біт на байт.
Здається, і 6 у когось було (чи то у 12-бітних PDP, чи то у якихось МЭСМ), але там С не було.
Ну й «байт» взагалі ні при чому, треба про char балакати, в одиницях якого працює sizeof()
І у купи TI-вських сигнальних процесорів char 16-бітний, бо така гранулярність адресації.
Як я розумію, stdint-івські int8_t, uint8_t там робиться додатковим маскуванням старших 8 бітів після кожної операції (або, після оптимізації, після декількох операцій, якщо це не міняє результат), щоб була очікувана поведінка. І дуже бажано використовувати int_least8_t, uint_least8_t коли потрібно не саме 8 біт, а 8 біт досить.