byte转bit
Posted vingxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了byte转bit相关的知识,希望对你有一定的参考价值。
由于项目需要,传过来的数据是高位到低位的Byte,需要输出低位到高位的bool数组。
public static bool[] getBits(byte[] byt) { bool[] ret = new bool[byt.Length * 8]; for (int j = byt.Length - 1; j >= 0; j--) { for (int i = 0; i < 8; i++) { ret[(byt.Length -j) * 8 - i-1] = (byt[j] & (128 >> i)) != 0; } } return ret; }
如果是单一Byte转bit数组,那么可以用这个简易的:
private bool[] byteToBits(byte val) { bool[] ret = new bool[8]; for (int i = 0; i < 8; i++) { ret[i] = (val & (1 << i)) != 0; } return ret; }
以上是关于byte转bit的主要内容,如果未能解决你的问题,请参考以下文章
java中如何声明一个十六进制的字符串,或者说,怎么发送一个十六进制数据?
ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段