如何在Java中使用字节和数组?
所以我想知道在Java中是否/如何在字节数组上使用AND操作 我已经看到了如何在INT中使用AND操作的示例,如下所示:如何在Java中使用字节和数组?,java,arrays,byte,bit-manipulation,bitwise-and,Java,Arrays,Byte,Bit Manipulation,Bitwise And,所以我想知道在Java中是否/如何在字节数组上使用AND操作 我已经看到了如何在INT中使用AND操作的示例,如下所示: int bitmask = 0x000F; int val = 0x2222; // prints "2" System.out.println(val & bitmask); 但是假设我有一个字节数组,比如 byte[] byteArray = new byte[1]; 我想和它合并,这样我就可以删除数组中最左边的/第一个位。我想我应该使用掩码0x7F,但是我
int bitmask = 0x000F;
int val = 0x2222;
// prints "2"
System.out.println(val & bitmask);
但是假设我有一个字节数组,比如
byte[] byteArray = new byte[1];
我想和它合并,这样我就可以删除数组中最左边的/第一个位。我想我应该使用掩码0x7F
,但是我如何使用字节数组来实现它呢?这个方法可以实现,它只是&
这是他们展示的掩蔽演示:
class BitDemo {
public static void main(String[] args) {
int bitmask = 0x000F;
int val = 0x2222;
// prints "2"
System.out.println(val & bitmask);
}
}
我想对其进行排序,以便删除数组中最左边的/第一个位
我想remove的意思是unset,因为不能删除第一位。它将永远在那里。如果我是对的,你可以这样做:
byteArray[0] &= 127;
您不能将其作为一个整体来使用,但您可以逐个使用:
byteArray[0]&=0x7F
。