首页 > 问答 > 正文
譬如把float类型的2.0000000000转化为int,底层存储的应该是1.999999999999999这样的吧,有精度限制的,所以当我把这个数转int的时候,觉得会变成1(丢弃小数部分了)但测试了几个语言,都还是正确的(php,java,go,js)php:js:
go:
java:
滿天的星座2017-06-12 09:21:20
2.0是可以被浮点数精确表达的 这个数不应该出问题
2.0
我想大声告诉你2017-06-12 09:21:20
小数的存储用科学记数法存储,并不是1.999999...,在强转的过程中是做处理的,不是直接转换个类型
漂亮男人2017-06-12 09:21:20
一般来说都是低精度转高精度,比如int->float,高精度转低精度,是要丢失精度,数据结果可能会变得很诧异的。
阿神2017-06-12 09:21:20
几个经典的例子
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
世界只因有你2017-06-12 09:21:20
没啥太实际的意义,假如真的是你这样想的情况运作的话,设计这门语言的人肯定会考虑到的
具体了解需要一定的汇编原理,所以不要太钻牛角尖啦
巴扎黑2017-06-12 09:21:20
可以问一下,你这个编程面板是哪里下载的吗?好像不错呀