Получите наибольшее число с n битамиC++

Программы на C++. Форум разработчиков
Anonymous
Получите наибольшее число с n битами

Сообщение Anonymous »

Я хотел бы получить наивысшее число с n битами в C ++. Я написал этот фрагмент кода, но, возможно, есть более эффективный способ.

Код: Выделить всё

int A = 22;  // 10110
int max = pow(2, (int) log2(A) + 1) - 1;  // returns 31 (11111)
< /code>
Этот код поднимает 2 к мощности количества битов A и вычтения 1. < /p>
 edit < /strong> < /p>
Поскольку вопрос кажется неясным, вот еще несколько примеров, чтобы помочь понять результат, который я хочу достичь.1000
=> 1111
[*] => 1111
[*] => 111111
[*] => 111


Подробнее здесь: https://stackoverflow.com/questions/751 ... ith-n-bits

Вернуться в «C++»