Java中将字节转换为长度为4的布尔数组

2023-11-22

我需要在 Java 中将一个字节转换为 4 个布尔值的数组。我该怎么办?


根据 Michael Petrotta 对您问题的评论,您需要决定应该针对生成的布尔数组测试 8 位字节中的哪些位。出于演示目的,我们假设您想要最右边的四个位,那么类似这样的操作应该可以工作:

public static boolean[] booleanArrayFromByte(byte x) {
    boolean bs[] = new boolean[4];
    bs[0] = ((x & 0x01) != 0);
    bs[1] = ((x & 0x02) != 0);
    bs[2] = ((x & 0x04) != 0);
    bs[3] = ((x & 0x08) != 0);
    return bs;
}

十六进制值 (0x01, 0x02等)在此示例中是特殊位掩码,在所需位置仅设置了一个位;因此 0x01 仅设置了最右边的位,0x08 仅设置了右数第四位。通过使用按位 AND 运算符 (&)如果该位被设置,您将得到该值,否则为零。如果您想检查除最右边的四个位之外的不同位,则必须创建不同的位掩码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中将字节转换为长度为4的布尔数组 的相关文章

随机推荐