为何c中staticcastltintgt1003*100输出变成1002

你好。是如许的因为小数在计算机里是用2进制表示的在位数固定的情况下其实大年夜部分情况下计算机是无法精确表达小数的值的。比如3.5可以表达为1*211*2^(-1)可以看到... 你好。是如许的因为小数在计算机里是用2进制表示的在位数固定的情况下其实大年夜部分情况下计算机是无法精确表达小数的值的。比如3.5可以表达为1 * 2 1 1* 2^(-1) 可以看到小数的表示最小单位和2的-n次方有关比这个值小的数值是n位二进制不克不及表示的。 比如double d = 0.03;在调试模式下可以看到实际上d的值是0.02999999。这种情况下10.03*100实际获得的是1002.999999再进行类型转换去掉落小数获得1002 展开
仵公子
2014-10-12 · TA获得超过124个赞
知道答主
回答量:107
采纳率:100%
帮助的人:46.2万
展开全部
能讲的具体些吗我试了下有些数比如10.02*100就照样1002.这中心到底是如何的关系吗感谢 查看原帖>>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式