byte最高位

/**
* 将byte转换为一个长度为8的byte数组,数组每个值代表bit
*/
public static byte[] replaceSpace(Byte b){
byte[] array=new byte[8];
for (int i = 7; i >=0 ; i--) {
//& 运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。
array[i]=(byte) (b & 1);
//右移一位 b/2
b=(byte)(b >>1);
}
return array;
}

public static String byteToBit(byte b){
    return ""
+ (byte) ((b >> 7) & 1) + (byte) ((b >> 6) & 1)
+ (byte) ((b >> 5) & 1) + (byte) ((b >> 4) & 1)
+ (byte) ((b >> 3) & 1) + (byte) ((b >> 2) & 1)
+ (byte) ((b >> 1) & 1) + (byte) ((b >> 0) & 1);
}
/**
* byte最高位
*/
public static String max(Byte b){
    return ""
+(byte) ((b >> 7) & 1);
}
posted @ 2020-07-28 10:28  洋洋兮若江河  阅读(271)  评论(0编辑  收藏  举报