做java已经有段时间了,可是遇到什么范围啊,精度啊就迷糊,虽然自己经常使用,自己的数据也从未超过int型的范围,但还是多了解下,用着才放心嘛……

1. 范围

float和double的范围是由指数的位数来决定的。

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。

2.  精度

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

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

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

java double 精度范围_float 和 double 范围和精度相关推荐

  1. double java 精度丢失_java中double和float精度丢失问题及解决方法

    在讨论两位double数0.2和0.3相加时,毫无疑问他们相加的结果是0.5.但是问题总是如此吗? 下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void te ...

  2. java中double类型_Java中的Double类型计算

    1 package com.wetalk.wbs.bas.util; 2 3 import java.io.Serializable; 4 import java.math.BigDecimal; 5 ...

  3. 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获

    2019独角兽企业重金招聘Python工程师标准>>> 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值! 用C#.NET调用 ...

  4. java math.cos_Java Math类静态double cos(double d)示例

    java math.cos 数学类静态双cos(double d) (Math Class static double cos(double d)) This method is available ...

  5. java math max_Java Math类静态double max(double d1,double d2)示例

    java math max 数学类静态double max(double d1,double d2) (Math Class static double max(double d1,double d2 ...

  6. java需要最大正数_Java输出double类型中的最小正数和最大正数

    这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...

  7. java中cbrt_Java Math类静态double cbrt(double d)示例

    java中cbrt 数学类静态double cbrt(double d) (Math Class static double cbrt(double d)) This method is availa ...

  8. Java 从键盘输入数据到一维double数组中

    import java.util.Scanner; public class Demo7 {public static void main(String[] args){Scanner sc = ne ...

  9. java double 保留小数_java使double类型保留两位小数的方法

    java使double类型保留两位小数的方法 本文是百分网小编整理的主要介绍关于java使double类型保留两位小数的方法,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网 ...

最新文章

  1. 002.Heartbeat部署及httpd高可用
  2. 互联网送给我们的---“平等互助”
  3. mac word 设置语言_如何更改Mac的语言和区域设置
  4. 红帽 安装oracle11g,64位RedHat 5.6下安装Oracle 11g
  5. 11kw星三角启动延时几秒_带有延时启动的星角接启动方法
  6. 冒泡排序算法之C语言实现
  7. 概率扩散模型 Probabilistic Diffusion Model
  8. Windows系统设置局域网共享(无密码+有密码)
  9. MySQL日期字符串转换成NULL值的异常处理
  10. 微信小程序之实现地图定位(使用腾讯位置服务插件)
  11. MongoDB技术文章合辑1:基础知识
  12. 真题集P110---2018年真题
  13. ptgui创建全景图设置_使用Microsoft图像合成编辑器创建高级全景图
  14. 照明控制那些事儿 之 可控硅调光
  15. 使用JSPlumbECharts绘制流程图(以参加会议为例)
  16. 计算机快捷键及word的几个常用技巧
  17. 如何做好2003服务器安全策略
  18. 构建通用的 React 和 Node 应用
  19. HBase+Solr 的 二级索引 实时查询
  20. C语言题目:左旋字符串.

热门文章

  1. vb操作html5,vb基本操作
  2. winform无法屏蔽回车事件、KeyPress事件不执行问题解决
  3. 专业实训---滴滴打车
  4. 如何做 销售LED显示屏
  5. docker安装mysql主从_docker安装mysql主从
  6. Windows10安装tomcat【配置环境变量】
  7. 抖音视频批量上传辅助软件
  8. 名悦集团分享新手开车技巧口诀,开车零事故攻略
  9. 前端-uniapp开发app登录逻辑(人机验证以及手机获取验证码)
  10. Css---中间含数字的圆圈