<C++ Primer>
The size of the arithmetic types varies across machines.
By size, we mean the bits used to represent the type.
The standard guarantees a minimum size for each of the arithmetic types ,
but it does not prevent compilers from using larger sizes.
Indeed, almost all compilers use a larger size for int than is strictly required.
Because the number of bits varies, the maximum (of minimum) values that these types can represent also vary by machine.