gpt4 book ai didi

java - 将 byte 或 int 转换为 bitset

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:54:21 30 4
gpt4 key购买 nike

我有以下内容:

int num=Integer.parseInt(lineArray[0]);
byte numBit= num & 0xFF;

有什么非常简单的方法可以将numBit 转换为位数组吗?或者更好的是,有没有办法绕过 int 的字节转换并直接从 num 到位数组?

谢谢

最佳答案

如果你想要一个BitSet , 尝试:

final byte b = ...;
final BitSet set = BitSet.valueOf(new byte[] { b });

如果你想要一个boolean[]

static boolean[] bits(byte b) {
int n = 8;
final boolean[] set = new boolean[n];
while (--n >= 0) {
set[n] = (b & 0x80) != 0;
b <<= 1;
}
return set;
}

或者,等价地,

static boolean[] bits(final byte b) {
return new boolean[] {
(b & 1) != 0,
(b & 2) != 0,
(b & 4) != 0,
(b & 8) != 0,
(b & 0x10) != 0,
(b & 0x20) != 0,
(b & 0x40) != 0,
(b & 0x80) != 0
};
}

关于java - 将 byte 或 int 转换为 bitset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820402/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com