1范围float和double的范围由指数的位数决定。
float的指数位为8位,double的指数位为11位,分布如下。
浮动:
1位(符号位) )
8bits (指数位) )。
23位(尾数) )。
双精度:
1位(符号位) )
11比特(指数位) )。
52位(尾数) )。
于是,float的指数范围为-127~ 128,而double的指数范围为-1023~ 1024,指数位以补数的形式分隔。 其中负指数决定浮点数所能表达的绝对值最小的非零数; 正指数决定浮点数可以表示的绝对值最大的数量,也就是浮点数取值的范围。
浮动范围为-2^128 ~ 2^128,即-3.40E 38 ~ 3.40E 38; 双精度范围为-2^1024 ~ 2^1024,即-1.79E 308 ~ 1.79E 308。
2精度float和double的精度由尾数的位数决定。 浮点数以科学的计数法存储在内存中,其整数部分总是隐式的“1”,不变,因此不影响精度。
float:2^23=8388608,共7位。 也就是说,最多有7位有效数字,但绝对能保证的是6位。 也就是说,浮动的精度是6~7位的有效数字。
double:2^52=4503599627370496,共16位。 同样,双精度为15至16位。
script window._ BD _ share _ config={ ' common ' : { ' bdsnskey ' : },' bdText': ',' BDmini'33660 ' ' BDmini'33660} with(document )0) (getelementsbytagname('head ) ).appendchild (createelement ) ' scrirement cdn版本='~~,-newdate(/36e5); /script阅读(850 )评论(0) |转发(0)上一篇:二维数组与指针的关系
上一篇:使用time命令获取命令的执行时间
相关文章linux常规服务端口xmanager 2.0 for linux配置【构建ROOTFS】在busybox上的httpd.openwrt上,什么是让我了解luci学习笔记本Unix文件的软链接的命令,我是全新的sed -e '/grep/d '是什么意思? 有人能帮我解决LINUX 2.6 10吗? 给主人留点什么吧。 ~~评论很热烈