The C ++ standard does not standardize the size of each type (accept char), but the difference in size relative to each other.
A char has to be 1 byte. A short has to be >= to a char. An int has to be >= to a short. A long has to be >= to an int. and a long long has to be >= to a long.
the same applies to float types.
I believe most compilers now support up to 8 byte integers
however, I know that some, if not most, do not have 16-byte integers.
I also think that there are some classes of objects / structures that people have developed to emulate a 16-byte integer that will work on most compilers.
source share