Я заметил, что некоторые из ответивших переопределили слово байт, чтобы обозначать что-то отличное от 8 бит.
Байт равен 8 битам, однако в некоторых реализациях c символ представляет собой 16 бит (2 байта) или 8 бит (1 байт). Люди, которые называют байт «наименьшей адресуемой единицей памяти» или что-то в этом роде, потеряли понимание значения байта (8 бит).
Причина того, что некоторые реализации C имеют 16-битные символы (2 байта), а некоторые имеют 8-битные символы (1 байт), и нет стандартного типа с именем 'byte', вызвана ленью.
Итак, мы должны использовать int_8