如何將數字(0 – 255 之間的隨機整數)轉換為二進制并將該位存盤到 8 位陣列中。(java)
uj5u.com熱心網友回復:
您可以查看BitSet類,它實作了一個根據需要增長的位向量。位集的每個組件都有一個布林值。BitSet 的位由非負整數索引。可以檢查單個索引位:
BitSet myByte = new BitSet(8);
要將byte值轉換為BitSet,有方法BitSet.valueOf和BitSet::toByteArray:
byte b = 111;
BitSet bits = BitSet.valueOf(new byte[]{b});
byte fromBits = bits.toByteArray()[0];
uj5u.com熱心網友回復:
您可以使用Bit Masking將 int 轉換為二進制。
public static int[] getBits(int number) {
assert (0 <= number && number <= 255);
int[] bits = new int[8];
for (int i = 7; i >=0; i--) {
int mask = 1 << i;
bits[7-i] = (number & mask) != 0 ? 1 : 0;
}
return bits;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/369998.html
