一、float的指数位有8位,而double的指数位有11位,分布如下:

float:1bit(符号位) 8bits(指数位) 23bits(尾数位)

double:1bit(符号位) 11bits(指数位) 52bits(尾数位)

float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。

其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;

double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

二、精度

float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;

double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。

单精度浮点数在机内占4个字节,用32位二进制描述。

双精度浮点数在机内占8个字节,用64位二进制描述。

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。

数符占1位二进制,表示数的正负。

指数符占1位二进制,表示指数的正负。

尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点

指数存指数的有效数字。

指数占多少位,尾数占多少位,由计算机系统决定。

可能是数符加尾数占24位,指数符加指数占8位 -- float.

数符加尾数占48位,指数符加指数占16位 -- double.

浮点数float和double的区别相关推荐

  1. float和double的区别

    float和double的区别 两者的主要区别如下: 1.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 2.有效数字位数不同 单精度浮点数有效数字8位 双精 ...

  2. c语言对浮点数的处理默认是double吗,C语言中浮点数float和double输出的问题

    C语言中浮点数float和double输出的问题 关注:260  答案:6  信息版本:手机版 解决时间 2019-01-12 07:33 斑駁影 2019-01-11 09:20 #includev ...

  3. 深入理解C++浮点数(float、double)类型数据比较、相等判断

    深入理解C++浮点数(float.double)类型数据比较.相等判断 浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾 ...

  4. JAVA中的float和double的区别

    1.两个在定义时的区别 1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38         例float x=123.456f,y=2e20 ...

  5. float与double类型区别比较

    参考或转自http://topic.csdn.net/u/20090716/10/CE4A7037-3C0D-40AE-AF85-F702C78FCEA3.html 单精度浮点数在机内占4个字节,用3 ...

  6. decimal,float和double的区别

    一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...

  7. 细节:基本数据类型中float与double的区别

    一.两者定义 float:单精度浮点数 double:双精度浮点数 二.两者的主要区别 01)在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02)有效数字位 ...

  8. float 与 double 的区别

    1. 范围 float和double的范e79fa5e9819331333366303137围是由指数的位数来决定的. float的指数位有8位,而double的指数位有11位,分布如下: float ...

  9. 详细讲解int、float与double的区别

    最近为了看一下float的精确度仔细看了一下这三种数据在内存中的样子,看了一下别人的博客发现大家对精度都有这不同的定义,我自己也简单画了一下. 下面来主要讲解一下int.float与double三者的 ...

最新文章

  1. 第一讲SQL命令的DDL和DML操作讲解
  2. 为了给女朋友买件心怡内衣,我用Python爬虫了天猫内衣售卖数据
  3. 百练OJ:4016:班级排名
  4. 腾讯视频P2P带宽节省率持续提升之路
  5. linux执行脚本查找ip,linux 查看ip、用户、时间对应执行的命令
  6. CPU+GPU异构集群搭建的总结说明
  7. android10图片保存,android10分区存储照片选择,拍照处理
  8. 0 post 报红_【报Bug】升级2.3.0.20190919 后,原正常的request post 全部报 Status Code: 415 Unsupported Media Type...
  9. 监控录像数据恢复方法步骤详解
  10. HDFS 透明加密使用、Keystore和Hadoop KMS、加密区域、透明加密关键概念和架构、KMS配置
  11. 单片机外部RAM如何用C 语言访问,C51中访问外部RAM的方法
  12. 谁发明了验证码?你出来 保证不打死你
  13. 再谈对“重构”的学习
  14. Java面向对象 继承,super,方法重写
  15. 图像沿列方向降维的AVX2实现讨论
  16. 22年春福师《大学英语(1)》在线作业一-1
  17. Qt win7中读取Excel会出现闪退的问题
  18. 2018android手机机皇,2018年十大智能手机盘点 谁是年度机皇?
  19. 洛谷P4799—— [CEOI2015 Day2]世界冰球锦标赛(折半搜索)
  20. 打游戏最快的计算机,打游戏最好的电脑配置

热门文章

  1. th:classappend
  2. 随手记录: Macbook/MacOS 快速安装brew
  3. IP地址、子网掩码、网络号、主机号、子网号的计算
  4. 超级人工智能将如何导致人类灭绝或永生
  5. android图片拼,Android 拼接图片
  6. Flink-Connectors(连接器)(3)RabbitMQ
  7. 一个PHP文件搞定支付宝系列之手机网站支付(兼容微信浏览器) 转
  8. 【POJ 1061】青蛙的约会
  9. java期末试题c卷_Java编程基础期末考试试卷模板(C)开卷含答案.doc
  10. 2023暨南大学计算机考研信息汇总