java中的位预算
public class Demo {
public static void main(String[] args) {
byte num1 = 3;
byte num2 = 5;
/*位预算
*num1 0011
*左移2位 1100
*右移2位 0000
*/
System.out.println("左移2位 " +(num1<<2));
System.out.println("右移2位 " +(num1>>2));
/*取相同各位
*num1 0011
*num2 0101
* 与: 0001
*/
byte num3 = (byte) (num1 & num2);
System.out.println("按位与 " +num3);
/*取相同与不同位
*num1 0011
*num2 0101
*或: 0111
*/
byte num4 = (byte) (num1 | num2);
System.out.println("按位或 " +num4);
/*取不同位上的值
*num1 0011
*num2 0101
*异或: 0110
*/
byte num5 = (byte) (num1 ^ num2);
System.out.println("按位异或 " + num5);
}
}
运行结果: