-4

其无符号整数参数的二进制表示中出现的次数。

例如,数字 183 是 0b10110111,11 出现了 3 次。

有人可以解释或详细说明(举例)这意味着什么吗?

4

2 回答 2

1

当然。从 0 开始计数。查看每一对连续的位。如果他们是 11,则增加计数。如果他们不是,不要。

在您的示例 10110111 中,连续对是

10 01 11 10 01 11 11

其中三个是 11,所以返回 3。

如果您需要实现这一点,最简单的方法可能是查看 2 个最低有效位以查看它们是否为 11。如果是,请增加计数器。然后将整数右移一位并循环。当您将所有 1 移出时,循环可以停止,因此数字为 0。此时计数器将保存答案。所有这些都可以在 3 或 4 行代码中完成,您真的应该自己编写这些代码。

于 2013-02-04T05:16:51.037 回答
0

它计算在无符号整数中设置了多少位(有重叠)。

从技术上讲,对于参数的每个第 i 位0 <= i <= 30,如果设置了 -thi位并且设置(i+1)了 -th 位,那么您有一对。数一数,你就完成了。

于 2013-02-04T05:18:00.473 回答