小编New*_*edi的帖子

下一个更高的数字,一个零位

今天我遇到了这个问题,但经过一段时间后我无法解决.我需要一些帮助

我的数字是N.问题是找到下一个更高的数字(> N),二进制只有一个零位.

示例:数字1可以二进制表示为1.下一个更高的数字,只有一个零位是2 - 二进制10

其他几个例子:
N = 2 (10)下一个更高的数字,一个零位是5 (101)
N = 5 (101),下一个更高的数字是6 (110)
N = 7 (111),下一个更高的数字是11 (1011)

200号码清单:

1 1
2 10 - 1
3 11
4 100
5 101 - 1
6 110 - 1
7 111
8 1000
9 1001
10 1010
11 1011 - 1
12 1100
13 1101 - 1
14 1110 - 1
15 1111
16 10000
17 10001
18 10010
19 10011
20 …
Run Code Online (Sandbox Code Playgroud)

c++ binary bit-manipulation

4
推荐指数
1
解决办法
137
查看次数

标签 统计

binary ×1

bit-manipulation ×1

c++ ×1