java基本类型(数值范围):浮点的底层表示定义,float计算快一些

Posted gavanwanggw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基本类型(数值范围):浮点的底层表示定义,float计算快一些相关的知识,希望对你有一定的参考价值。

Java八种基本类型:

六种数字类型(四个整数型,两个浮点型),
一种字符类型,
一种布尔型。

详细例如以下

1、整数:包含int,short,byte,long 
2、浮点型:float,double 
3、字符:char 
4、布尔:boolean

相应空间和范围例如以下

基本型别 二进制位数 最小值 最大值 包装类
boolean
char 16-bit 0(Unicode) 65535(Unicode 2^16-1) java.lang.Character
byte 8-bit -128 +127 java.lang.Byte
short 16-bit -32768(-2^15) 32767 (+2^15-1) java.lang.Short
int 32-bit -2147483648(-2^31) 2147483647 (+2^31-1) java.lang.Integer
long 64-bit -9223372036854775808(-2^63) 9223372036854775807(+2^63-1) java.lang.Long
float 32-bit 1.4E-45(IEEE754规定32位内容) 3.4028235E38(IEEE754) java.lang.Float
double 64-bit 4.9E-324(IEEE754) 1.7976931348623157E308(IEEE754) java.lang.Double
void

引用类分为3种 (类类型,接口类型及数组类型)

类类型:对类实例的引用;
接口类型:对实现该接口的某个子类实例的引用;
数组类型:对数组值的引用。在jvm中数组是个真正的对象。


————————————————————————

编程时注意确定数值范围,直接使用相应类型比較好

如32 位时使用 Float 类 节省开发时间

float的底层表示定义

IEEE 754 浮点单精度数字格式定义了存储浮点数的32位比特(bit)布局。各bit位详细为:
"一位做符号位。八位留作指数,23位作尾数"。详细例如以下
SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM
当中:
S = 符号位
E = 指数
M = 尾数

Float方法对浮点数与比特的相互转化

1. 浮点数转bit

 Float.floatToIntBits(float f) 将一个浮点数转成一个比特序列。

返回一个32位整数,表示你作为參数提供的浮点数的 IEEE 754 比特排列。

2. bit转浮点数

Float.intBitsToFloat(int bits)将传入整数作为一个比特序列,按float相应位置规定意义,转成一个浮点数。

小数计算说明

    java中小数数值计算无法保证绝对精准。仅仅能保证一定精度范围,比方,两个double数,不应该使用等号判定是否相等。由于相等的两个double数存储在计算机中可能不相等(计算机存储位数)。
    尤其是除法。仅仅能保留一定范围的小数,精度取决于该类型在计算机的位数

以上是关于java基本类型(数值范围):浮点的底层表示定义,float计算快一些的主要内容,如果未能解决你的问题,请参考以下文章

2-基本语法

基本语法-变量的使用(重点)

查看Java中每个数据类型所占的位数,和表示数值的范围,并得出结论。

java基本数据类型

scala基本数据类型

Java数据类型