浅谈byte和长度为8的boolean数组互相转换
作者:jingxian 发布时间:2023-11-07 00:34:37
标签:java,byte,boolean
由于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 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
* @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;
}
}
0
投稿
猜你喜欢
- maven没有打包xml文件的问题最近使用maven带管理项目,采用SSM的技术栈,在配置好一些配置文件,打包部署到tomcat上,出现没有
- 异常与错误:异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通
- ELK环境安装ELK是指Elasticsearch、Kibana、Logstash这三种服务搭建的日志收集系统,具体搭建方式可以参考《Spr
- 本文实例为大家分享了maven插件安装教程,供大家参考,具体内容如下如果能打印如上信息,说明到此 Maven已经在你的电脑上安装完成。mvn
- kafka-console-consumer.sh解读kafka-console-consumer.sh 脚本是一个简易的消费者控制台。该
- BeanDefinitionRegistryPostProcessor概述可以看到BeanDefinitionRegistryPostPro
- 其实以前我对Java的Struts框架没有具体认识,通过这篇文章,真的让我了解了框架的用处,好处。下拉框在Web开发中经常会使用到,下面我们
- 一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configura
- 1.微信配置信息 global.properties2.方法wxpay用于生成预支付订单信息方法notifyWeiXinPay用于微信支付成
- 一、template下文件不允许直接访问1、查资料得知:springboot项目默认是不允许直接访问template下的文件的,是受保护的。
- 线程可以有六种状态:1.New(新创建)2.Runnable(可运行)(运行)3.Blocked(被阻塞)4.Waiting(等待)5.Ti
- 本文实例为大家分享了Android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下多个activity分页管理,为了方便获取上下文
- 1、 流的继承关系,以及字节流和字符流。2、 节点流FileOutputStream和FileInputStream和处理流Buffered
- 目录1.问题引出2.解决办法3.另外一种自定义序列化机制(介绍Externalizable)1.问题引出在某些情况下,我们可能不想对于一个对
- Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初
- 本文实例分析了Java接口默认方法带来的问题。分享给大家供大家参考,具体如下:一 点睛Java 8中,如果一个类实现两个或多个接口,即“变相
- 目录Set接口概述HashSet实现类1、HashSet 具有以下特点:2、HashSet 集合判断两个元素相等的标准3、向HashSet中
- 本文将带领大家实现第一个用eclipse写的第一个Javaweb项目–简单购物车。文章会在问题分析、具体实现和常见问题这三块为大家详细解说。
- 功能介绍大家都知道在Spring boot开发过程中,需要在配置文件里配置许多信息,如数据库的连接信息等,如果不加密,传明文,数据库就直接暴
- pom.xml配置<dependency> <groupId>org.springframework.