Java 获取字节数组X位置位的方法

Java 获取字节数组X位置位的方法,java,bytearray,bit,Java,Bytearray,Bit,如果我创建一个随机的字节[],例如: byte[] b = new byte[16]; new Random().nextBytes(b); 这意味着我有16字节或128位的数据,对吗 有没有办法读取位置X的位,这样我就可以知道它是0还是1 这个问题与询问如何获取字节中的位的问题类似,但不同。但是我想要字节数组中的一个位,byte[]在java中,您不能直接访问位。您需要使用位运算符 因此,您可以将该字节与另一个字节进行比较,您可以知道该字节的位值。在java中,您无法直接访问位。您需要使用位

如果我创建一个随机的
字节[]
,例如:

byte[] b = new byte[16];
new Random().nextBytes(b);
这意味着我有16字节或128位的数据,对吗

有没有办法读取位置X的位,这样我就可以知道它是0还是1


这个问题与询问如何获取字节中的位的问题类似,但不同。但是我想要字节数组中的一个位,
byte[]

在java中,您不能直接访问位。您需要使用位运算符


因此,您可以将该字节与另一个字节进行比较,您可以知道该字节的位值。

在java中,您无法直接访问位。您需要使用位运算符

因此,您可以将该字节与您知道其位值的另一个字节进行比较

这意味着我有16字节或128位的数据,对吗

对!

您可以在字节数组中获得如下位:

int readBit(byte[] b, int x) {
   int i = x / 8;
   int j = x % 8;
   return (b[i] >> j) & 1;
}
这意味着我有16字节或128位的数据,对吗

对!

您可以在字节数组中获得如下位:

int readBit(byte[] b, int x) {
   int i = x / 8;
   int j = x % 8;
   return (b[i] >> j) & 1;
}

该副本用于一个字节,而不是一个字节数组。该副本用于一个字节,而不是一个字节数组。简单而优雅。谢谢,简单而优雅。非常感谢。