由於byte是一個8位字節
所以可以用它來存放數組為8的boolean數組,這些在通信協議會經常用到。這裡給出一個java代碼對其互相轉換的。
package com.udpdemo.test2;import java.util.Arrays;public class Test {/** * @param args * */public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(Byte.SIZE); byte b = 0x35; // 0011 0101 System.out.println(b); System.out.println(Arrays.toString(getBooleanArray(b))); //0x35; // 0011 0101 boolean[] array = new boolean[]{false, false, true, true, false, true, false, true}; System.out.println(getByte(array)); } /** * 將byte轉換為一個長度為8的boolean數組(每bit代表一個boolean值) * * @param b byte * @return boolean數組*/ public static boolean[] getBooleanArray(byte b) { boolean[] array = new boolean[8]; for (int i = 7; i >= 0; i--) { //對於byte的每bit進行判定array[i] = (b & 1) == 1; //判定byte的最後一位是否為1,若為1,則是true;否則是false b = (byte) (b >> 1); //將byte右移一位} return array; } /** * 將一個長度為8的boolean數組(每bit代表一個boolean值)轉換為byte * @param array * @return * */ public static byte getByte(boolean[] array) { if(array != null && array.length > 0) { byte b = 0; for(int i=0;i<=7;i++) { if(array[i]){ int nn=(1<<(7-i)); b += nn; } } return b; } return 0; } }以上這篇淺談byte和長度為8的boolean數組互相轉換就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。