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

来源:百度知道 编辑:UC知道 时间:2024/05/27 17:14:21
计算出了一个浮点,有三位小数,而答案要求精确到百分位,该如何编写程序?
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位

输出的时候
把 %f 写成 %.2f 就可以了 保留两位小数

百分位是小数点后面几位?

用setw函数。