I run the following code:
cout << numeric_limits<long double>::max() <<"\n" ;
cout << sizeof(long double)<<"\n" ;
The output is:
1.18973e+4932
16
How can 16 bytes hold a number so large? I thought the maximum is 2^128 = 3.4 * 10^38 even if it was an integer.