But minimums are imposed. (Very indirectly, by the specified limit values of the constants in <limits.h>.) char et al. must be at least 8 bits, short and int 16, long 32 and long long 64. (And the unsigned types must have the same size as the corresponding signed type.)