如何在Java中迭代一个字节的所有位?

时间:2016-03-15 18:14:44

标签: java bit-manipulation

如何在Java中迭代字节中的每个位?让我们假设将每个位单独打印到控制台。

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

byte b;
for(int i = 1 ; i <= b ; i<<=1) int bit = b&i;

答案 1 :(得分:0)

将您的字节转换为二进制表示并逐位进行:

final byte b1 = (byte) 129;
final String s1 = String.format("%8s", Integer.toBinaryString(b1 & 0xFF)).replace(' ', '0');
for (int i = 0; i < s1.length(); i++) {
    System.out.print(s1.charAt(i)); // 10000001
    if (s1.charAt(i) == '1') {
        System.out.println("= one");
    } else {
        System.out.println("= zero");
    }
}