首先要明白一點,Java中時沒有bit的數據類型的,所以如果想表示bit,可以使用byte[]的方式
1byte=8bit
只要把每位提取出來,需要把它右移至右邊第一位,在和1進行與運算,這樣除了需要的bit,其他都為0。其2進制(1,0),正好為數字1,0;
所以我們可以封裝如下:
//byte轉bit
publicstaticbyte[]ByteToBit(bytea){
byte[]temp=newbyte[8];
for(inti=7;i>=0;i--){
temp[i]=(byte)((a>>i)&1);
}
returntemp;
}
//bit轉byte
publicstaticbyteBitToByte(byte[]a){
bytetemp=(byte)0;
for(inti=0;i<bits;i++){
temp=temp|a[i]<<i;
}
returntemp;
}
希望對你有所幫助,謝謝。