1.1程序如下
1.2.结果如下:
预期:1.2F与1.2是相等的,显示后面的小数应该全是0。实际:1.2F实际是1.2000000476837158…..,并不是精确的1.2,而1.2F也与1.2不相等。原因:(1)float的有效数字只有8个,也就是1.2F输出20个位时只能保证前8位(1.2000000)是精确地,后面12位都是不精确的。
(2)由于C语言默认小数是double类型的,所以1.2是double类型的数据,当然与1.2F这个float类型的数据不相等。
程序如下: