В настоящее время я работаю с базой кода (C, С++ mixed), предназначенной для 32-битной платформы MIPS. Процессор довольно современный (просто отметим, что у нас есть достаточная вычислительная мощность и память).
В базе кода используются такие типы данных, как uint8 [целое число без знака 1 байта], uint16 [целое беззнаковое целое число в 2 байта], uint32 [4-байтное беззнаковое целое число] и т.д.
Я знаю, как использование этих конструкций полезно при переносе кода на разные платформы.
Мои вопросы:
-
Какая польза от использования uint16, где uint32 также будет достаточным (если есть)?
-
Будет ли экономия на использовании памяти при использовании более коротких типов данных (с учетом выравнивания данных)?
-
Если нужно сохранить несколько байт памяти, нужно ли это сделать в современном оборудовании?