【Java学习】关于位运算

这几天重温Java,发现一个比较有意思的运算,位运算。

以前只在计算机组成原理这门课中学过位运算,一直以为学习位运算只是为了了解计算机的运算过程以及组成原理。没想到位运算在Java语言中也有很大的作用。

位运算基础

位运算主要有三种运算,分别为“与(AND)”,“或(OR)”,“异或(XOR)”。

另外还有一个移位。

位运算的应用

位运算因为只有1和0,所以可以用于身份认证,这里举出一个判断身份的Java程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BitChoose {

public static void main(String[] arg){
int base = 1;
int is_student_mask = base; //0001
int is_teacher_mask = base << 1; //0010
int is_police_mask = base << 2; //0100
int is_doctor_mask = base << 3; //1000

int data = 3; //0011

boolean is_student = (data & is_student_mask) != 0;
System.out.println(is_student);

boolean is_teacher = (data & is_teacher_mask) != 0;
System.out.println(is_teacher);

boolean is_police = (data & is_police_mask) != 0;
System.out.println(is_police);

boolean is_doctor = (data & is_police_mask) != 0;
System.out.println(is_doctor);

}
}

可以看出位运算可以通过”掩码“和“与”运算实现身份识别功能。


【Java学习】关于位运算
http://liuminxuan.github.io/2020/01/20/Java学习笔记-位运算/
发布于
2020年1月20日
许可协议