www.3112.net > JAVA中FloAt和DouBlE的区别?

JAVA中FloAt和DouBlE的区别?

1、内存结构 float和double的范围是由指数的位数来决定的. float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符号位) 11bits(指数位) 52bits(尾数位) 于

float表示单精度浮点数在机内占4个字节,用32位二进制描述. double表示双精度浮点数在机内占8个字节,用64位二进制描述.浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分. 数符占1位二进制,表示数的正负.

(1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38 例float x=123.456f,y=2e20f; 注意float型定义的数据末尾必须有"f"或"F",为了和double区别(2)double型 内存分配8个字节,范围从10^-308到10^308 和 -10^-308到-10^-308 例double x=1234567.98,y=8980.09d; 末尾可以有"d"也可以不写

float是单精度 double是双精度 double表示的范围和精度都比float大,java默认的小数是double的,一般情况下使用float

float与double的区别单精度浮点数在机内占4个字节,用32位二进制描述. 双精度浮点数在机内占8个字节,用64位二进制描述. 浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分. 数符占1位二进制,表示数的正负.

1. 我感觉你可能更想问的问题是:java中double和float类型有和区别?建议修改问题,把【常量】二字去掉;2. 这两种数据类型的主要区别是:double取值范围和精度比float都要高;3. java中,次要区别是二者在变量定义上有些不同,比如:floath a = 2.3f; double a = 2.3;float类型值后面有一个f;4. 在很多环境下(java/C#..)他们的区别大约都是以上这些.

Float,Double 分别是对float和double的封装表示的精度和他们是一样的.但里面有很多有用的方法..比如Double.praseDouble()等等..BigDecimal也是对数字类型数据的封装..但他的精度是任意精度..即随便多长随便小数点后多少位..

float是单精度类型,精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间 double是双精度类型,精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间 当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f float类型变量值后加F 表示这个变量是float类型变量 是一种数字精度表示法.

二者的取值范围和精度是不同的float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间

float长度值32比特也就是32位,有一位是符号位第一个bit表示符号位2-9这8个表示的是2的指数,但是这里有个指数偏移值的概念剩下的是小数部分http://www.233.com/JAVA/Instructs/060530/095611815.htmlhttp://zh.wikipedia.org/zh-cn/IEEE_754这两个加在一起说的就比较明白了

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com