代码如图:
输出结果如下:
这里面有几个问题,想请大家解答一下:
1.float a=0.99f;按理说在这里用0.99给float类型赋值肯定会有精度损失,为什么输出是0.99呢?
2.double c=0.99f;这个表达式的的含义是不是将0.99这个float类型的浮点数转化成double型并赋值给c?如果是这样子,输出结果为什么会和double d=0.99d输出结果不一样呢?(即1-c不等于1-d)。
希望有明白的朋友能够给予解惑,感激不尽!
代码如图:
输出结果如下:
这里面有几个问题,想请大家解答一下:
1.float a=0.99f;按理说在这里用0.99给float类型赋值肯定会有精度损失,为什么输出是0.99呢?
2.double c=0.99f;这个表达式的的含义是不是将0.99这个float类型的浮点数转化成double型并赋值给c?如果是这样子,输出结果为什么会和double d=0.99d输出结果不一样呢?(即1-c不等于1-d)。
希望有明白的朋友能够给予解惑,感激不尽!