`
445822357
  • 浏览: 740163 次
文章分类
社区版块
存档分类
最新评论

byte和长度为8的boolean数组互相转换

 
阅读更多

由于byte是一个8位字节

所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到。这里给出一个java代码对其互相转换的。

package com.udpdemo.test2;

import java.util.Arrays;

public class Test {

	/**
	 * 2014-7-4 下午4:09:55
	 * @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转换为一个长度为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
     * 2014-7-4 下午5:28:28
     * @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数组互相转换

    下面小编就为大家带来一篇浅谈byte和长度为8的boolean数组互相转换。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java字节数组与常见类型转换工具

    Java字节数组与常见类型转换工具,包括byte[] 与int long double float string boolean 等类型的相互转换。

    java_android_类型转换工具类的标准代码

    byte数组转换为十六进制字符串 int转换为byte数组 byte数组转换为int 保留几位小数 null转String String转Byte String转Boolean String转Int String转Short String转Double Int转String Double转Long Double转Int ...

    第三章 数组

    如何使用labview 数组 簇 波形 1.熟悉labview 数组 簇 波形 2.创建labview 数组 簇 波形

    Java程序设计基础:一维数组应用数组作为方法返回值类型.pptx

    数组作为方法返回值类型 学习目标 1 理解方法返回值类型是数组 引用类型的方法签名; 2 理解并学会数组作为方法返 回值类型的方法编写; 3 理解并熟知数组作为返回值 类型的方法调用。 方法的返回值类型 方法的...

    byte与各类型之间的转化

    此文档主要的内容是byte类型与各类型(String、boolean、int、inputStream等)之间的转化

    C#数组初始化简析

    主要以看电子书为主,比较少写代码。现在回头学习以前接触过的,随着知识与经验的的积累。 总是有各种惊喜,震惊!C#数组就是其中之一,我把它作为自己博客园的处女作。 C#数组与其它C系列语言有着很多的不同,以前...

    Java 面试知识点总结.pdf

    型来代替,而 boolean 数组将会被编码成 Java 虚拟机的 byte 数组,每个元素 boolean 元素占 8 位”。这样我们可以得出 boolean 类型单独使用是 4 个字节,在数组中又是 1 个字节。那虚拟机为什么要用 int 来代替 ...

    实验4 数组(4学时)

    2、使用一维数组编码实现一个栈(Stack)类,要求提供以下操作:(1)boolean isEmpty():判断栈当前是否为空;(2)入栈操作void push(obj):把数据元素obj插入堆栈;(3)出栈操作Object pop():出栈,并返回删除...

    xml和java bean互相转换工具包(简单易用)

    xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...

    boolean-array:验证值是否为布尔数组

    验证值是否为布尔数组。 安装 $ npm install validate.io-boolean-array 要在浏览器中使用,请使用 。 用法 var isBooleanArray = require ( 'validate.io-boolean-array' ) ; isBooleanArray( 值 ) 验证value...

    Android中的JNI数组操作教程

    JNI 中有两种数组操作,基础数据类型数组和对象数组,JNI 对待基础数据类型数组和对象数组是不一样的。 基本数据类型数组 对于基本数据类型数组,JNI 都有和 Java 相对应的结构,在使用起来和基本数据类型的使用...

    demo06.zip

    * byte short int long float double boolean char * 0 0 0 0 0.0 0.0 false 空格 * * 2.引用数据类型 * String。。。。。。等, 还可以是我们自己封装的类 * 默认值:都是null * @param args */

    Boolean RT.zip

    BooleanRT, 实现2个物体间的布尔运算 The extension provides the following functions: 1- Real-time or per-click Boolean execution. 2- Material, UV and texture preservation. 3- Saving to prefab. 4- ...

    Boolean RT资源包

    Boolean RT资源包,可用于Unity 几何体布尔运算

    Java中Boolean与字符串或者数字1和0的转换实例

    下面小编就为大家带来一篇Java中Boolean与字符串或者数字1和0的转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JS字符串false转boolean的方法(推荐)

    下面小编就为大家带来一篇JS字符串false转boolean的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Javascript数组操作高级心得整理

    (4) 为本地对象添加新方法 19 3. 对象类型转换 19 (1) 转换成字符串 19 (2) 转换成数字 20  parseInt() 20  parseFloat() 20 (3) 强制类型转换 20  Boolean() 函数 20  Number()函数 20  String() 函数 21...

    java基于可扩充数组的向量实现(算法源码)

    private int N = 8;//数组的容量,可不断增加 private int n;//向量的实际规模 private Object A[];//对象数组 //构造函数 public Vector_ExtArray() { A = new Object[N]; n = 0; } //返回向量中元素数目 ...

    C语言二维数组中的查找的实例

    请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 思路描述:一个数字的下方和右方是比它本身大的区域,而左方和上方时比它本身小的区域。选取右上角的数字进行比较,当该数大于指定的...

Global site tag (gtag.js) - Google Analytics