如果我创建一个随机byte[]
,例如:
byte[] b = new byte[16];
new Random().nextBytes(b);
这意味着我有16个字节或128位数据,对吧?
有没有办法读取位置X的位,以便我可以知道它是0还是1?
这个问题与an existing question类似,但问题如何在一个字节中得到一点。但是我想要一个字节数组byte[]
。
答案 0 :(得分:4)
这意味着我有16个字节或128位数据,对吗?
右键!
你可以像这样在字节数组中得到一点:
int readBit(byte[] b, int x) {
int i = x / 8;
int j = x % 8;
return (b[i] >> j) & 1;
}
答案 1 :(得分:0)
在java中你不能直接使用aaccess位。您需要使用按位运算符。
所以你可以比较你已经知道其位值的其他字节的字节。