这几天重温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; int is_teacher_mask = base << 1; int is_police_mask = base << 2; int is_doctor_mask = base << 3;
int data = 3;
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);
} }
|
可以看出位运算可以通过”掩码“和“与”运算实现身份识别功能。