仅含置位位的最小整数

给你一个正整数 n。
返回 大于等于 n 且二进制表示仅包含 置位 位的 最小 整数 x 。
置位 位指的是二进制表示中值为 1 的位。

  • 输入: n = 5
    输出: 7
    解释:
    7 的二进制表示是 “111”。

  • 输入: n = 10
    输出: 15
    解释:
    15 的二进制表示是 “1111”。

1
2
3
4
5
6
7
var smallestNumber = function(n) {
let x = 1;
while (x < n) {
x = x * 2 + 1;
}
return x;
};