将单精度变量值赋予双精度变量类型double后数值丢失?

来源:3-8 浮点型案例

慕慕8212658

2020-04-13 00:49:27

http://img.mukewang.com/climg/5e934620095ab73904010390.jpg

控制台输出d的值不是我一开始赋予d的值。老师不是说double是比float大的么,小的往大的存应该没问题吧。。

求解答

写回答

1回答

好帮手慕阿慧

2020-04-13

同学你好,

1、float的精度小于double的精度,所以double能表示更多位的小数。这里不是丢失精度了,是更准确了。

2、看起来不一样其实是因为计算机底层是二进制,所以在表示数据时会有偏差,更精确之后的和原来的不一样了。这个差异是无法屏蔽的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 11489 问题

查看课程