关于Java位移的问题?请高手帮忙!
public class BitMover {
public static byte swap(byte b){
int lowBits = b & 0xF; // 为什么这里取得是最低的4位?
int highBits = b & 0xF0; // 为什么这里取得是最高的4位?
int result = lowBits << 4 | highBits >>> 4;
return (byte)result;
}
public static void main(String args[]){
System.out.println(swap((byte)10));
System.out.println(swap((byte)1));
System.out.println(swap((byte)-1));
}
}
**************************************************
int lowBits = b & 0xF; 和 int highBits = b & 0xF0;
不太明白,请高手帮忙解答一下,谢谢^^
以及如何计算这里的打印结果?