C++中double可以保存15位有效数字,但是double长度只能8字节啊,为什么

下列叙述中,错误的是
false是一个逻辑型常量
“b”是一个字符型常量
365是一个int常量
3.1415926是一个double常量
答案网上有BD两种说法,B应该用单引号的,然后可以解释下D么,3.1415926不是9字节?

Double(双精度浮点数)使用 64 位(8字节,1字节8位【二进制位】) 来储存一个浮点数.

double的符号位为第63位,指数为第62~52位,共11位。表示的范围为-1024~1023。底数为第51~0位,2^52=4,503,599,627,370,496共16位【十进制位】。

表示的范围为-1.7*10^308~+1.7*10^308。

3.1415926是一个数,它的存储方式参照上述。
" 3.1415926"才是10个字节(1个字符占一个字节),之所以不是9个,是因为字符串的末尾都有个字符'\0'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-11
15位是十进制位,8字节是二进制的字节,相当于64个二进制位。两者有何冲突么追问

下列叙述中,错误的是
false是一个逻辑型常量
“b”是一个字符型常量
365是一个int常量
3.1415926是一个double常量
答案网上有BD两种说法,B应该用单引号的,然后可以解释下D么,3.1415926不是9字节?

本回答被提问者和网友采纳
相似回答