3

所以我想知道是否/如何在Java中对字节数组使用AND操作?

我已经看到了如何将 AND 操作与 int 一起使用的示例,如下所示:

int bitmask = 0x000F;
int val = 0x2222;

// prints "2"
System.out.println(val & bitmask);

但是说我有一个字节数组,比如......

byte[] byteArray = new byte[1];

我想 AND 它以便我删除数组中最左边的/第一个位。我想我会使用掩码0x7F,但我将如何与字节数组进行 AND 呢?

4

2 回答 2

1

我想与它,以便我删除数组中最左边的/第一个位

我假设remove你的意思是unset,因为你不能删除第一位。它会一直在那里。如果我是对的,你可以这样做:

    byteArray[0] &= 127;
于 2013-06-28T21:59:04.330 回答
1

按位和运算符可以解决问题,它很简单&

这是他们为掩蔽展示的演示:

class BitDemo {
    public static void main(String[] args) {
        int bitmask = 0x000F;
        int val = 0x2222;
        // prints "2"
        System.out.println(val & bitmask);
    }
}
于 2013-06-28T21:55:16.937 回答