C++中如何控制float的精确度

计算出了一个浮点,有三位小数,而答案要求精确到百分位,该如何编写程序?
setw函数是什么……

1、float精度是固定的,只能在打印的时候设置打印精度。
2、float是32位,double是64位
float32位中,有1位符号位,8位指数位,23位尾数为
double64位中,1位符号位,11位指数位,52位尾数位
取值范围看指数部分
float是有符号型,其中,8位指数位,2^8=(-128—127),因此实际的范围是-2^128—2^127,约为-3.4E38—3.4E38
同理double范围约是-1.7E308—1.7E308,楼主可以自己按下计算器试试看,印象深些
精度是看尾数部分
float尾数位23位,2^23=8.3E6,7位,所以不同的编译器规定不同,有些是7位,有些8位
double尾数52位,2^52=4.5E15,15位,所以double的有效位数是15位
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
输出的时候
把 %f 写成 %.2f 就可以了 保留两位小数本回答被提问者采纳
第2个回答  2007-11-13
用setw函数。
第3个回答  2007-11-13
百分位是小数点后面几位?
相似回答