double 8字节 类型的最大值=1.79769e+308(1.79769e+308怎么计算的)
我理解的是
double=8字节=1字节
1字节=8bit
8字节*8bit=64
2的64次方=18446744073709551616
所以我理解的是:double 8字节 类型的最大值=18446744073709551616
可为什么程序执行的时候输出:1.79769e+308
DBL_MAX:double型的最大值
DBL_MIN:double型的最小值
FLT_MAX:float型的最大值
FLT_MIN:float型的最小值
1、负值取值范围为-1.79769313486231570E+308到-4.94065645841246544E-324;
2、正值取值范围为4.94065645841246544E-324到1.79769313486231570E+308。
扩展资料
c++中使用sizeof()函数来获取各种数据类型的大小
type:size
bool:所占字节数:1最大值:1最小值:0
char:所占字节数:1最大值:最小值:?
signedchar:所占字节数:1最大值:最小值:?
unsignedchar:所占字节数:1最大值:?最小值:
wchar_t:所占字节数:4最大值:2147483647最小值:-2147483648
short:所占字节数:2最大值:32767最小值:-32768
int:所占字节数:4最大值:2147483647最小值:-2147483648
unsigned:所占字节数:4最大值:4294967295最小值:0
long:所占字节数:8最大值:9223372036854775807最小值:-9223372036854775808
unsignedlong:所占字节数:8最大值:18446744073709551615最小值:0
double:所占字节数:8最大值:1.79769e+308最小值:2.22507e-308
longdouble:所占字节数:16最大值:1.18973e+4932最小值:3.3621e-4932
float:所占字节数:4最大值:3.40282e+38最小值:1.17549e-38
size_t:所占字节数:8最大值:18446744073709551615最小值:0
string:所占字节数:24
谢谢 还有一点遗憾 如果按有符号计算
18446744073709551616 一半是按负数 一半是按正数
假设现在这个 1.7976931348623158e+308 最大正数是怎么计算的
计算机里浮点数按照IEEE754标准存储,分为移码和阶码。 这个讲清楚就很复杂了。 如果你想了解可以去了解IEEE754标准。
本回答被提问者采纳