请解释第二第三题
答案:2 悬赏:10 手机版
解决时间 2021-11-21 03:53
- 提问者网友:眉目添风霜
- 2021-11-20 04:22
请解释第二第三题
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-11-20 05:01
第2题,(a=2)与(b=-1)都是真,&&的结果也是真,因为输出时使用%d,所以bool被转为int,true的结果是1,所以输出1。
第3题,我猜测是因为用printf输出小数时默认输出6位小数。实际上float和double的二进制有效位数(不是小数位数)分别为24位和53位,十进制有效位数分别为6~7位、15~16位(这里给的是范围,实际上都有可能)。这里说的是有效位数,当然你用printf可以输出任意多位小数,只不过超过有效精度的部分都不可靠。注意,实数随运算次数的增加误差会积累,实际正确的位数会越来越少。
第3题,我猜测是因为用printf输出小数时默认输出6位小数。实际上float和double的二进制有效位数(不是小数位数)分别为24位和53位,十进制有效位数分别为6~7位、15~16位(这里给的是范围,实际上都有可能)。这里说的是有效位数,当然你用printf可以输出任意多位小数,只不过超过有效精度的部分都不可靠。注意,实数随运算次数的增加误差会积累,实际正确的位数会越来越少。
全部回答
- 1楼网友:执傲
- 2021-11-20 05:14
太难了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯