float double范围和精度
2017-03-16 18:28
246 查看
1 范围
float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) | 8bits(指数位) | 23bits(尾数位) |
1bit(符号位) | 11bits(指数位) | 52bits(尾数位) |
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
2 精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(850) | 评论(0) | 转发(0) |
0
上一篇:二维数组和指针之间的关系
下一篇:使用time命令获取命令执行时间
相关热门文章
linux 常见服务端口
xmanager 2.0 for linux配置
【ROOTFS搭建】busybox的httpd...
openwrt中luci学习笔记
什么是shell
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- Java 浮点数 float和double类型的表示范围和精度
- 准确详解:C/C++ float、double数据类型的表示范围及精度
- float与double的范围和精度
- float与double的范围和精度
- Java--float/double取值范围与精度
- float与double的范围和精度
- float与double的范围和精度
- Java 浮点数 float和double类型的表示范围和精度
- float与double的范围和精度
- C语言中关于float、double、long double精度及数值范围理解
- float与double的范围和精度
- float与double的范围和精度
- float与double的范围和精度
- float与double类型的内存分布,精度和范围
- 【转】float与double的范围和精度
- [转]float与double的范围和精度
- float与double的范围和精度
- float与double类型的内存分布,精度和范围
- float与double的范围和精度
- float与double的范围和精度