Quoting from Wikipedia: On the x86 architecture, most compilers implement long double as the bit extended precision type supported by that hardware ( sometimes stored as 12 or 16 bytes to maintain data structure. and. Compilers may also use long double for a bit quadruple precision format. Long double. In general, the algorithms in the library are written for double precision only. The long double type is not supported for actual computation. One reason for this choice is that the precision of long double is platform dependent. The IEEE standard only specifies the minimum precision of extended precision. bool, char, unsigned char, signed char, __int8, 1 byte. __int16, short, unsigned short, wchar_t, __wchar_t, 2 bytes. float, __int32, int, unsigned int, long, unsigned long, 4 bytes. double, __int64, long double, long long, 8 bytes.