byte 即字節(jié)琉历,由8位的二進(jìn)制組成,是java的基本數(shù)據(jù)類型眨补,存儲(chǔ)整型數(shù)據(jù),占據(jù)1個(gè)字節(jié)(8 bits)鹏氧,能夠存儲(chǔ)的數(shù)據(jù)范圍是-128~+127渤涌。
超出范圍的需要對(duì)其 b & 0xff 或者 b + 256 進(jìn)行運(yùn)算轉(zhuǎn)換相應(yīng)的類型
取字節(jié)的高四位( b & 0xf0) >> 4
取字節(jié)的低四位 b & 0x0f
/**
* 獲取高四位
* @param <T>
* @param t
* @return
*/
public static <T> int getByteHeight4(T t) {
String reslut = toBinary(t);
if(reslut.length()==8) {
reslut = reslut.substring(0, 4);
return Integer.parseInt(reslut, 2);
}
return 0;
}
/**
* 獲取低四位
* @param <T>
* @param t
* @return
*/
public static <T> int getByteLow4(T t) {
String reslut = toBinary(t);
if(reslut.length()==8) {
reslut = reslut.substring(4, 8);
return Integer.parseInt(reslut, 2);
}
return 0;
}
/*
* 轉(zhuǎn)換二進(jìn)制
*/
public static<T> String toBinary(T i) {
if(i instanceof Byte) {
return String.format("%8s", Integer.toBinaryString((byte)i & 0xFF)).replace(' ', '0');
}else if(i instanceof Integer) {
return String.format("%8s", Integer.toBinaryString((int)i)).replace(' ', '0');
}
return "";
}
有錯(cuò)誤的還望大家多多指出來(lái)