java基本类型(数值范围):浮点的底层表示定义,float计算快一些
2024-09-02 21:15:32
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数存储在计算机中可能不相等(计算机存储位数)。
尤其是除法,只能保留一定范围的小数,精度取决于该类型在计算机的位数
最新文章
- AFN解析器里的坑
- 在ubuntu上面配置nginx实现反向代理和负载均衡
- dotNet使用HttpWebRequest模拟浏览器
- WPF控件ComboBox 每个Item的ToolTip引发的异常
- 【BZOJ】【2500】幸福的道路
- HDU 2846 Repository(字典树,标记)
- Linux 命令 alternatives和update-alternatives
- STL之deque、queue、stack、list
- KEIL中的一些细节
- 利用CSS3特性巧妙实现漂亮的DIV箭头
- 基于visual Studio2013解决算法导论之042单源最短路径
- C语言bitmap的使用技巧
- 基于C#的Appium自动化测试框架(Ⅰ):程序结构
- Getting.Started.with.Unity.2018.3rd.Edition
- puppet使用 apache passsenger 作为前端 (centos)
- xml文件格式化后不能获取到值
- paddle实践
- 非递归和递归分别实现求第n个斐波那契数。
- Flask学习-Flask app启动过程
- 先安装VS2017再安装VS2015遇到的CMake问题
热门文章
- [Codeforces]850E - Random Elections
- [BZOJ]4805: 欧拉函数求和
- [BZOJ]1023 cactus仙人掌图(SHOI2008)
- hdu5569 BestCoder Round #63 (div.2)
- 对中断的理解handle_level_irq【原创】
- 用js来实现那些数据结构11(字典)
- CentOs源码安装mysql-5.6.34(cmake)
- 在 telnet 中利用HTTP协议传递GET、POST参数
- 10分钟 5步 发布以太坊 ERC20 代币
- Spring消息之JMS.