在java中使用二进制数字

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我想知道哪一个是在java中使用二进制数字的最佳方法。我需要一种方法来创建一个二进制数字的数组,并与他们做一些计算。例如,我想要X或二进制数的值或乘法矩阵。

解决的问题:非常感谢所有的信息。

我认为对于我的情况,我将使用@Jarrod Roberson提到的BitSet

提问于
用户回答回答于

你可能要找的是BitSet班级。

该类实现了根据需要增长的位向量。位集的每个组件都有一个布尔值。BitSet的位由非负整数索引。各个索引位可以被检查,设置或清除。一个BitSet可用于通过逻辑AND,逻辑或(OR)和逻辑异或操作来修改另一个BitSet的内容。 默认情况下,集合中的所有位最初都具有值false。 每个比特集都具有当前大小,该比特集是当前由该比特集使用的空间的比特数。请注意,大小与位集的实现有关,所以它可能随实现而改变。位集的长度与位集的逻辑长度有关,并且与实现无关地定义。 除非另有说明,否则将null参数传递给BitSet中的任何方法将导致NullPointerException。

用户回答回答于

在Java版本7中,您可以简单地使用二进制数字来声明整数并在数字前加上0b0B

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

扫码关注云+社区