JAVA基础知识_位移知识小白篇

一、介绍

java的计算都是将数据转化成二进制数据,然后进行位移运算,如果在计算中直接运用位移计算可以提高速度,在JDK中的很多源码也是通过高效率的位移来节约时间。常见的java位移有三类、左位移、右位移、无符号位移。在这之前我们也需要了解java之间的逻辑运算。

本文介绍流程如下:

1、常见逻辑运算

2、左位移

3、右位移

4、无符号位移

5、HashMap源码分析


二、逻辑运算

运算名称符号声明 备注
&真真为真转化为二进制进行计算
|一真为真 

 

~真假颠倒 
异或^相同为假,相异为真0为假,1为真

 


三、左位移 & 右位移


我们知道位移是二进制数据流层面的计算方式。而我们平时使用的都是十进制。为了更好地理解,那么也就需要知道二进制流数据与十进制数据之间是如何转化的。以下为例:

十进制:10

二进制:0000 1010        (原理:二进制默认byte字节码[~128-128]这个范围,也即是2^8,因此二进制最大位数为八)

转化呢:1*2^3 + 1*2^1 = 10  (原理:算式的幂为二进制码的1的索引,每个位数为一个2单位。满2进位)

 

左位移

十进制:1

二进制:0000 0001

 

 


四、无符号位移


五、HashMap举例

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值