的位置X的比特如果創建一個隨機byte[]
,例如:獲得途徑中的字節數組
byte[] b = new byte[16];
new Random().nextBytes(b);
這意味着,我有16個字節或128位數據,是嗎?
有沒有辦法讀取位置X的位,以便我可以瞭解它是0還是1?
這個問題是相似的,但不相同,an existing question,要求如何得到一個字節。但我想要一個字節數組,byte[]
。
的位置X的比特如果創建一個隨機byte[]
,例如:獲得途徑中的字節數組
byte[] b = new byte[16];
new Random().nextBytes(b);
這意味着,我有16個字節或128位數據,是嗎?
有沒有辦法讀取位置X的位,以便我可以瞭解它是0還是1?
這個問題是相似的,但不相同,an existing question,要求如何得到一個字節。但我想要一個字節數組,byte[]
。
這意味着我有16個字節或128位的數據,對吧?
對!
你可以得到一個位在你的字節數組是這樣的:
int readBit(byte[] b, int x) {
int i = x/8;
int j = x % 8;
return (b[i] >> j) & 1;
}
簡單而優雅。謝謝。 – Aventinus
在java中,您不能直接訪問位。你需要使用按位運算符。
所以,你可以比較你已知的位值的字節。
重複的是一個字節,而不是字節數組。 – RealSkeptic