您的位置:首页 > 其它

3 float和double的取值范围和精度

2018-02-12 14:22 801 查看
float是32位,double是64
float 32位中,有1位符号位,8位指数位,23位尾数位。
double 64位中,有1位符号位,11位指数位,52位尾数位

取值范围看指数部分:
float:8为指数位,(-2^7~2^7-1)=(-128~127)
float取值范围:-2^127~2^127 也即 -1.70e+38~+1.70e+38
double:11位指数位,(-2^10~2^10-1)=(-1024~1023)
double取值范围:-2^1023~2^1023 也即 -8.99e+307~+8.99e+307

精度看尾数部分:
float:2^(-23)=0.00000011920928955078125,前面有多少个0,就能精确到哪一位,精度为6位。
double:2^(-52)=0.00000000000000022204460492503130808472633361816,精度为15位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  精度