我想知道哪个是在java中处理二进制数的最好方法。我需要一种方法来创建二进制数组并使用它们进行一些计算。例如,我想对二进制数的值或乘法矩阵进行X运算。
问题解决了:非常感谢你提供的所有信息。
我想在我的例子中,我将使用@Jarrod提到的BitSet
发布于 2011-11-02 02:31:04
在Java version7中,您可以通过声明int并在数字前面加上0b
或0B
来简单地使用二进制数
int x=0b101;
int y=0b110;
int z=x+y;
System.out.println(x + "+" + y + "=" + z);
//5+6=11
/*
* If you want to output in binary format, use Integer.toBinaryString()
*/
System.out.println(Integer.toBinaryString(x) + "+" + Integer.toBinaryString(y)
+ "=" + Integer.toBinaryString(z));
//101+110=1011
发布于 2011-11-02 02:51:06
数字本身和它在语言中的表示是有区别的。例如,"0xD“(基数16)、"13”(基数10)、"015“(基数8)和"b1101”(基数2)是指同一数字的四种不同表示。
也就是说,您可以在Java语言中使用"int“原始数据类型来表示任何二进制数(以及任何基数中的任何数字),但只有在Java7中才能使用binary literal,因为您以前可以使用八进制(0)和十六进制(0x)文字来表示这些数字,如果我正确理解了您的问题的话。
发布于 2011-11-02 02:31:43
您可以将它们存储为byte
数组,然后单独访问这些位。然后,要对它们进行XOR操作,您只需对字节进行XOR操作(这是一个按位操作)。
当然,它不必是字节数组(可以是int
类型的数组或您想要的任何数组),因为所有内容最终都是以二进制存储的。
https://stackoverflow.com/questions/7971074
复制相似问题