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计算快一些的更多相关文章
- Java枚举类型的使用,数值的二进制表示
一.Java枚举类型的使用 首先请看这段代码: package java上课; public class EnumTest { public static void main(String[] arg ...
- Java基础类型总结
最近一直在总结反思自己, 趁着现在请假在学校上课的空余时间,从基础开始重新温故学习下Java,充实下自己. 一.数据类型 从下图中,我们可以很清晰的看出Java中的类型,其中红色方框中的是Java的4 ...
- 一、JAVA变量类型:①类变量与实例变量的异同点
在JAVA中,变量使用前必须声明,格式如下: int a; //单个变量声明 int b, c, d; //多个变量一起声明 int e = 1, f = 2, g = 3; //声明时同时赋值(初始 ...
- Java基本类型学习
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...
- Java基础系列1:Java基本类型与封装类型
Java基础系列1:Java基本类型与封装类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括两 ...
- java 枚举类型分析
最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- Java基础类型与其二进制表示
Java中的基础类型有:byte.short.int.long.float.double.char和boolean. 它们可被分为四种类型,整型.浮点型.char型和boolean型. 整型:byte ...
- 再看Java基本类型
Java中的基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte.short.int.long.float.double. 数值类型又可以分为整数类型byte.short ...
随机推荐
- UVA - 11732:"strcmp()" Anyone?
字典树问题 对于普通的字典树,可以加一个vector数组记录非空的孩子,加快速度 还可以用左孩子右兄弟来节省空间,因为普通的trie的话是 int next[MAXN][26] 而左孩子右兄弟可以把[ ...
- 【20170920校内模拟赛】小Z爱学习
所有题目开启-O2优化,开大栈空间,评测机效率为4亿左右. T1 小 Z 学数学(math) Description 要说小 Z 最不擅长的学科,那一定就是数学了.这不,他最近正在学习加法运算.老 ...
- hdu 5112 (2014北京 水)
题意:有个人在跑步,一直每个时间他所在的位置,求最大速度 #include <iostream> #include <cstring> #include <cstdio& ...
- 【无语凝噎(wordless)】
·题目: 西施与范蠡泛舟而去……不对,场景不对,咳咳.在甄嬛前往蓬莱洲之前,她与皇上在碧桐书院告别.为了这可能会长达数月的离别,两个人都似乎有很多话要对对方说,却都无语凝噎.这时,皇上 ...
- hdu 4747 线段树
Mex Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submis ...
- C语言设计第一次作业
1 (1)题目:求圆面积和周长 (2)流程图: (3)测试数据及运行结果: (4)实验分析:暂时没问题. 2 (1)题目:输入一个四位年份,判断其是否是闰年.闰年的判别条件是该年年份能被4整除但不能被 ...
- SSM实战
http://www.07net01.com/2016/07/1607717.html https://github.com/Lutils/MyForum
- 40道Java初中级算法面试题
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数 ...
- 从 python 中 axis 参数直觉解释 到 CNN 中 BatchNorm 的工作方式(Keras代码示意)
1. python 中 axis 参数直觉解释 网络上的解释很多,有的还带图带箭头.但在高维下是画不出什么箭头的.这里阐述了 axis 参数最简洁的解释. 假设我们有矩阵a, 它的shape是(4, ...
- SVN/GIT精简使用教程
MAC 显示点文件 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write com. ...