Если использоватьС99
то как сказал _Pasha использовать uintX_t uint_fastX_t
но есть один ньюанс

для хранения в памяти использовать _fast не оптимально - выгрыша в производительности нет, а пямять будет расходоваться больше.
Поэтому для локальных переменных (которые могут располагаться в регистрах) использовать fast, а для памяти обычные типы. И работать с переменными - загружать в локальную _fast, обрабатывать и сохранять в память, тогда код оптимальный будет. ( и на 8ми разрядном тоже)