您的位置:首页 > 其它

数据在机器里的存储问题(c程序)

2011-09-18 12:41 369 查看
#include<stdio.h>

void
main()

{

double a,b,c;
// 这里double换成float,结果又会怎样呢……哈哈int
d;b=3.3; //3.2999999999999998c=1.1; //1.1000000000000001

a=b/c;/*
调式时的值是2.9999999999999996 */


d=b/c; /*
因为3.3不能精确表示,1.1也不能精确表示*/

printf("a=%d\n",a);
//printf("a=%f\n",a);换成这样结果也不同,不过可理解

printf("d=%d\n",d);

if(a!=3)

printf("a really
not 3\n");

/*

a=-1 打印出来为什么a=-1而不是3.000000呢

d=2

a
really not 3请按任意键继续. . .

这里double换成float,结果是:

a=0

d=2

请按任意键继续.
. .

*/

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐