最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談byte和長度為8的boolean數(shù)組互相轉(zhuǎn)換

 更新時間:2016年11月16日 08:51:44   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談byte和長度為8的boolean數(shù)組互相轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

由于byte是一個8位字節(jié)

所以可以用它來存放數(shù)組為8的boolean數(shù)組,這些在通信協(xié)議會經(jīng)常用到。這里給出一個java代碼對其互相轉(zhuǎn)換的。

package com.udpdemo.test2;

import java.util.Arrays;

public class Test {

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.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轉(zhuǎn)換為一個長度為8的boolean數(shù)組(每bit代表一個boolean值)
   * 
   * @param b byte
   * @return boolean數(shù)組
   */
  public static boolean[] getBooleanArray(byte b) {
    boolean[] array = new boolean[8];
    for (int i = 7; i >= 0; i--) { //對于byte的每bit進(jìn)行判定
      array[i] = (b & 1) == 1;  //判定byte的最后一位是否為1,若為1,則是true;否則是false
      b = (byte) (b >> 1);    //將byte右移一位
    }
    return array;
  }

  /**
   * 將一個長度為8的boolean數(shù)組(每bit代表一個boolean值)轉(zhuǎn)換為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數(shù)組互相轉(zhuǎn)換就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

资中县| 阳朔县| 盐山县| 穆棱市| 江永县| 静安区| 大港区| 宁南县| 尤溪县| 青河县| 隆昌县| 荃湾区| 荣成市| 三都| 云阳县| 教育| 金寨县| 恩平市| 于田县| 奉节县| 罗江县| 绿春县| 海门市| 营口市| 体育| 轮台县| 观塘区| 甘肃省| 嘉定区| 抚远县| 离岛区| 南岸区| 黄冈市| 徐水县| 巴中市| 苍山县| 西藏| 庄河市| 特克斯县| 虎林市| 乌兰县|