C语言中的一个关于基本类型的输出问题

不知道有没有人注意到这样一个现象,浮点数的输出不是精确的?那么什么时候才是不准确的输出呢?例如float类型的数,我的电脑float类型是32位的。所以十进制的最大输出应该是0~4294967296,但实际上根本不能输出这么多,因为float是有符号数,即使你将float设为无符号的,情况也不能改变!在数据大于有符号数的最大值时即使能够输出,结果也是不准确的,结果是有时候准确有时候不准确,准确的情况只针对开头数字是1、2、3、4,然后后面都是0的数。不信的话可以自已编译一下,所以比较大的数字例如几十万的数据我都是用double类型,都不敢用float类型,怕它出错。

posted @ 2013-06-08 20:43  jlins  阅读(143)  评论(0编辑  收藏  举报