情事2014下载地址:c语言高手进!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 20:12:49
y=1.0/2.0=0.500000

y=pow(2.0,3.0)=8.00000

上面两个表达式的结果:小数点后面零的个数是怎么决定的呢?
我想问的是 为什么是5个零而不是7个8个4个零呢?
是否可以说的直接点,5个零是怎么来的??
fancycai那样抽象的理由貌似应付考试不可以啊~

浮点都是占用4个字节的
printf("%f,%f",1.0/2.0,pow(2.0,3.0));
输出是0.500000,8.000000 都是6位小数啊
浮点数小数的位数都是大于6位的(7位以后有误差)。想改动系统中小数的储存位数是不现实的。
可以用%.mf来控制输出小数的位数为m0
printf("%.3f",1.0/2.0);
输出是0.500

你想知道零的个数是由什么决定的对不对?
精确度当然是由printf 的修饰符决定的啦……你想要几位就是几位啦。
默认是 6。
呵呵。

%m.nf
m代表全部的位数 包括小数点
n代表小数位数
ok?

根据变量定义时分配的空间决定的,也就是浮点数的精度。占用空间越大,精度就越高。

是根据你第一的时候的变量确定的啊.
不过你赋值时候到没有这个必要

这是一个默认值,要改的话用%.xf(x为需要的位数)就可以了