主题:高手求助,关于 位移 的 题目
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;
不太明白,请高手帮忙解答一下,谢谢^^
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;
不太明白,请高手帮忙解答一下,谢谢^^