Получите наибольшее число с 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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