Java基础类型进制与转化溢出规则

JAVA基础数据类型(包装类)和进制示例

整形:

byte(Byte) 范围 -128 ~ 127(-2^7 ~ 2^7 - 1)

占1个字节,八位。

byte a = 100

100000000 为 - 128 (在一个字节中特殊表示)

011111111 为 127

第一个字符为符号位:0代表正 1代表负

其他类型同理

short (Short)范围 - ­32768(­2^15)~ 32767(2^15 - 1)

占两个字节,16位

short a = 100

int(Integer) 范围  ­-2,147,483,648(­2^31)~  2,147,483,647(2^31 ­-1);

占四个字节,32位

int a = 100

long(Long) 范围 ­-9,223,372,036,854,775,808(­2^63)~ 9,223,372,036,854,775,808(­2^63 - 1);

八个字节,64位

long a =
100L

浮点小数

float(Float) 四个字节,32位

内存空间结构:符号位(1)指数符号位(1)指数位(7)精确小数位(23)

float a = 0.1f

double(Double) 八个字节,64位

内存空间结构:符号位(1)指数符号位(1)指数位(10)精确小数位(52)

double a = 0.1d

科学计数法:2.1E10  = 2.1 * 10^10

精度丢失原因:计算机内存由二进制组成,而小数无法确切的用二进制表示,只能精确表示

布尔值   boolean(Boolean) 一个 字节,八位

存储 true 与 false

0表示false 1表示true

字符串

char (Character) 可以储存任意字符,是16位的Unicode编码

字符集:\u0000 ~ \uffff

每一个基础类都有一个包装类,主要用于类型之间的转化

装箱与拆箱:

将基本数据类型变成包装类称为装箱

将包装类的类型变为基本数据类型称为拆箱

进制算法:(数字大小 * 进制)^位数 - 1

进制转化:数字%进制的倒向集合

例如:115二进制显示

115/2 = 57 余 1

57/2 = 28 余 1

28/2 = 14 余 0

14/2 = 7 余 0

7/2 = 3 余 1

3/2 = 1 余 1

1/2 = 0 余 1

115的二进制为 01110011

整数类型大转小溢出丢失原则:

f(x) = x + 2^n * t  
(n代表空间位数)(t代表周期)

实列:int 128 转化 为byte

Byte一个字节8位

f(x) = 1 + 2^8 * 1  = 1 + 128  = 1

int 128转化位byte时为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值