java基本类型(数值范围):浮点的底层表示定义,float计算快一些
2023-09-11 14:20:43 时间
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 -version 问题 : C:ProgramDataOracleJavajavapath;
- 最全三大框架整合(使用映射)——Emp.java
- "http-8080-3" java.lang.OutOfMemoryError: PermGen space C3P0死锁的问题
- JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
- Java实现 蓝桥杯 算法提高 特等奖学金(暴力)
- Java实现 LeetCode 57 插入区间
- java实现第四届蓝桥杯买不到的数目
- Java实现表达式计算求值
- Java实现分割矩形
- Java实现 蓝桥杯VIP 算法提高 计算时间
- Java实现 蓝桥杯VIP 算法训练 斜率计算
- Java实现 蓝桥杯VIP 算法训练 最大值与最小值的计算
- Java实现 蓝桥杯 算法提高 概率计算
- 蓝桥杯(Java方法、详细解法分析)基础练习 阶乘计算
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
- Java里去除字符串里的回车符
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- Java java.util.concurrent.Future的一个例子
- 零基础应该选择学习 java、php、前端 还是 python?
- How to improve Java's I/O performance( 提升 java i/o 性能)
- 【java】Java 枚举(enum)如何使用以及原理
- [Java 8 HashMap 详解系列] 2.HashMap 中 Key 的 index 是怎样计算的?
- java-JProfiler(五)-监控性能