1位运算:
按位与 & :两位全为1,结果才为1;
按位或 | :只要一个为1,结果就为1;
异或运算 ^:两个相应位为“异”(值不同),则该位结果为1,否则为0;
取反运算 ~:对一个二进数按位取反,即将0变1,1变0;
左移运算 <<:将一个运算对象的各二进制全部左移若干位(左边的二进制位丢弃,右边补0);
右移运算 >>:将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。操作数每右移一位,相当于该数除以 2。
无符号右移运算 >>>:各个位向右移指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃;
2Java中的进制:
public static byte[] int2Bytes(int id){
byte[] arr = new byte[4];
arr[0] = (byte)((int)((id>>0*8)&0xff));
arr[1] = (byte)((int)((id>>1*8)&0xff));
arr[2] = (byte)((int)((id>>2*8)&0xff));
arr[3] = (byte)((int)((id>>3*8)&0xff));
return arr;
}
3 Java内置的进制转化:
Integer.toBinaryString(112) //二进制
Integer.toHexString(112) //十六进制
Integer.toOctalString(112) //八进制
Integer.parseInt("111001",2)//二进制数111001转换成十进制数