测试 float

关于blog上对 float的许多讨论,这个函数不对,那个运算出错。

其实原因不在这里,根源是计算机没有向你保证你看到的就是真实的,都是一厢情愿而已。

废话不说。下面是测试,一看就明白。再不明白的看看 float 是如何储存的。

#include <stdio.h>

int main(void)
{
	double b = 0.3;
	float    a = 0.3f;

	printf("%.20g\n",a);
	printf("%.20g\n",b);

	b = a;
	printf("%.20g\n",b);

	if (0.3 == a) printf("0.3 == 0.3f\n");
	if (0.3f == a) printf("0.3f == 0.3f\n");
	return 0;
}

 

 别跟我提编译器,编你妹。

为何 %lf , %f 输出是 0.3 ? 我就不说,看看 cXX 标准什么的吧。

posted @ 2013-10-09 10:32  playerc  阅读(397)  评论(0编辑  收藏  举报
c4io.com Count Visitors
Web Counter