java double 精度范围_float 和 double 范围和精度
做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 范围和精度相关推荐
- double java 精度丢失_java中double和float精度丢失问题及解决方法
在讨论两位double数0.2和0.3相加时,毫无疑问他们相加的结果是0.5.但是问题总是如此吗? 下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void te ...
- java中double类型_Java中的Double类型计算
1 package com.wetalk.wbs.bas.util; 2 3 import java.io.Serializable; 4 import java.math.BigDecimal; 5 ...
- 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获
2019独角兽企业重金招聘Python工程师标准>>> 用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获得值! 用C#.NET调用 ...
- 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 ...
- 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 ...
- java需要最大正数_Java输出double类型中的最小正数和最大正数
这是<写给大忙人看的java核心技术>中的一道练习题. 1. 输出最大正数值 System.out.println(Double.MAX_VALUE); 直接输出包装类Double的MAX ...
- 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 ...
- Java 从键盘输入数据到一维double数组中
import java.util.Scanner; public class Demo7 {public static void main(String[] args){Scanner sc = ne ...
- java double 保留小数_java使double类型保留两位小数的方法
java使double类型保留两位小数的方法 本文是百分网小编整理的主要介绍关于java使double类型保留两位小数的方法,有需要的朋友们一起看看吧!想了解更多相关信息请持续关注我们应届毕业生考试网 ...
最新文章
- 002.Heartbeat部署及httpd高可用
- 互联网送给我们的---“平等互助”
- mac word 设置语言_如何更改Mac的语言和区域设置
- 红帽 安装oracle11g,64位RedHat 5.6下安装Oracle 11g
- 11kw星三角启动延时几秒_带有延时启动的星角接启动方法
- 冒泡排序算法之C语言实现
- 概率扩散模型 Probabilistic Diffusion Model
- Windows系统设置局域网共享(无密码+有密码)
- MySQL日期字符串转换成NULL值的异常处理
- 微信小程序之实现地图定位(使用腾讯位置服务插件)
- MongoDB技术文章合辑1:基础知识
- 真题集P110---2018年真题
- ptgui创建全景图设置_使用Microsoft图像合成编辑器创建高级全景图
- 照明控制那些事儿 之 可控硅调光
- 使用JSPlumbECharts绘制流程图(以参加会议为例)
- 计算机快捷键及word的几个常用技巧
- 如何做好2003服务器安全策略
- 构建通用的 React 和 Node 应用
- HBase+Solr 的 二级索引 实时查询
- C语言题目:左旋字符串.