c语言中
单精度型和双精度型
指两种
类型
的
浮点数。
单精度型
即
float
型,
有效数字约10进制7位
双精度型
即
double
型,
有效数字约10进制15位
所以能描述的数值精度不同。
c语言
数据
用
ieee
754
国际标准。float
型
用
4
字节存放,double
型
用
8
字节存放。
single
precision
2进制:
数符1位,指数8
位,尾数
23
位
double
precision
2进制:
数符1位,指数11
位,尾数
52
位
单精数值范围:
±
~10的-44.85次方
到
约
10的38.53次方
双精度数值范围
±
~10的-323.3
次方
to
约
10的
308.3次方。
float
a=1.234567;
double
b=1.2345678901234;
-------------
10%3
整除取余数,得
1。
1
用
float
和
double
表示,精度没有区别。
a=(float)(10%3);
b=(double)(10%3);
强制转换
要带
小括号。
scanf("%e",&d);e是以指数形式输出,可以使用%g来使计算机自动判断使用%e还是%f
scanf("%lf",&d);