If you need a guaranteed 32 bits in an integral type in C, use (long int) a.k.a. (long), NOT (int). If you need more than 32 bits then you can't portably directly use any C integral type (although you can accomplish this in other ways). Anyone who uses (int) and needs more than 16 bits is making a mistake.