移位运算符

移位运算符
<<左移

a<<b,a转换为二进制后,向左移动b位。也可以理解成a*(2的b次方)

>>右移

a>>b,a转换成二进制后,向右移动b位。也可以理解成a/(2的b次方)


@Test
	public void t1(){
		int a = 5;
		a = (a + 1) * 2 - 1;
		//输出11
		System.out.println(a);
		
		a = 5;
		a = (a + 1) <<1 - 1;
		//输出6
		System.out.println(a);
		
		a = 5;
		a = ((a + 1) <<1) - 1;
		//输出11
		System.out.println(a);
	}

你可能感兴趣的:(位运算)