我有一个作业,我需要在其中创建一个函数来告诉您整数的二进制表示法中有多少个 1。我已经通过创建自己的算法来做到这一点。第二步是使用 java.math.BigInteger.bitCount()
来完成同样的事情。我在 Java API 中查找了这个,但有人可以将其翻译成英语并解释它与在整数的二进制表示法中查找 1 的数量有何关系,也许还有一个例子。我尝试使用谷歌搜索,但除了以下定义外什么也没找到。
公共(public) int bitCount()
描述: 返回此数字的二进制补码表示中与其符号位不同的位数。在 BigIntegers 上实现位 vector 样式集时,此方法很有用。
最佳答案
在two's complement在负整数的表示中,符号位是1
,而在非负整数的表示中,符号位是0
。因此,对于正整数,bitCount()
返回不是 0
的位数,即是 1
。
关于java - 使用 java.math.BigInteger.bitCount() 查找整数二进制表示法中 1 的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8888805/