欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談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進行判定
      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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • mybatis如何處理返回結果集

    mybatis如何處理返回結果集

    這篇文章主要介紹了mybatis如何處理返回結果集問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring @Valid和@Validated區(qū)別和用法實例

    Spring @Valid和@Validated區(qū)別和用法實例

    這篇文章主要介紹了Spring @Valid和@Validated區(qū)別和用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • java使用定時器實現(xiàn)監(jiān)聽數(shù)據(jù)變化

    java使用定時器實現(xiàn)監(jiān)聽數(shù)據(jù)變化

    這篇文章主要為大家詳細介紹了Java如何使用定時器監(jiān)聽數(shù)據(jù)變化,當滿足某個條件時(例如沒有數(shù)據(jù)更新)自動執(zhí)行某項任務,有興趣的可以了解下
    2023-11-11
  • 詳細介紹Java關鍵字throw?throws?Throwable的用法與區(qū)別

    詳細介紹Java關鍵字throw?throws?Throwable的用法與區(qū)別

    這篇文章主要介紹了java中throws與throw及Throwable的用法和區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • 網(wǎng)絡爬蟲案例解析

    網(wǎng)絡爬蟲案例解析

    本文主要介紹了網(wǎng)絡爬蟲的小案例。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • MybatisPlus查詢數(shù)據(jù)日期格式化問題解決方法

    MybatisPlus查詢數(shù)據(jù)日期格式化問題解決方法

    MyBatisPlus是MyBatis的增強工具,支持常規(guī)的CRUD操作以及復雜的聯(lián)表查詢等功能,這篇文章主要給大家介紹了關于MybatisPlus查詢數(shù)據(jù)日期格式化問題的解決方法,需要的朋友可以參考下
    2023-10-10
  • Activiti開發(fā)環(huán)境的搭建過程詳解

    Activiti開發(fā)環(huán)境的搭建過程詳解

    這篇文章主要介紹了Activiti開發(fā)環(huán)境的搭建過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • SpringCloud Eureka實現(xiàn)服務注冊與發(fā)現(xiàn)

    SpringCloud Eureka實現(xiàn)服務注冊與發(fā)現(xiàn)

    Eureka是一種基于REST(具像狀態(tài)傳輸)的服務,主要用于AWS云中定位服務,以實現(xiàn)中間層服務器的負載平衡和故障轉(zhuǎn)移。本文記錄一個簡單的服務注冊與發(fā)現(xiàn)實例。感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java中的clone方法詳解_動力節(jié)點Java學院整理

    Java中的clone方法詳解_動力節(jié)點Java學院整理

    clone顧名思義就是復制, 在Java語言中, clone方法被對象調(diào)用,所以會復制對象。下面通過本文給大家介紹java中的clone方法,感興趣的朋友一起看看吧
    2017-06-06
  • spring 如何將配置信息注入靜態(tài)變量的方法

    spring 如何將配置信息注入靜態(tài)變量的方法

    本篇文章主要介紹了spring 如何將配置信息注入靜態(tài)變量的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論