拓展:位运算符

位运算符(& | ^ ~ << >>)

位运算符涉及底层知识,与二进制有密切联系

假设: A = 0011 1100 ​B = 0000 1101

&(与) A&B = 0000 1100 //每位之间,10为0,11为1,00为0

|(或) A|B = 0011 1101 //每位之间,10为1,00为0,11为1

^(非) A^B = 0011 0001 //每位之间,相同为0,不同为1

~(取反) ~B = 1111 0010 //每位之间,相反取值,1为0,0为1

左移 << 一个数左移两位就是*2

右移 >> 一个数右移两位就是/2

原理:

二进制中:

​ 0000 0001 为1

​ 0000 0010 为2

​ 0000 0100 为4

​ 0000 1000 为8 //二进制1在往左移的过程中,十进制的值再乘2增长

代码输入结果验证:

public class Demo01 {
	public static void main(String[] args) {
		
		System.out.println(2>>3);	//2右移3次,2/2/2/2 结果为0,因为浮点数自动转型为int
		System.out.println(2<<3); 	//2左移3次,2*2*2*2结果为16
		
	}
}
posted @ 2020-11-16 20:16  IAimHigher  阅读(104)  评论(0)    收藏  举报