Tirando float e double, que implementam IEEE-754 precisões simples e dupla, respectivamente, não existe exigência de tamanho nos outros tipos. Existe exigência de range apenas. Em uma maquina com palavra menor, um inteiro pode ter 16 bits, em maiores, 64. Se for necessário (para serialização por exemplo) tamanhos fixos, deve-se usar tipos apropriados para isso