Учитывая 32 или 64-битное целое число в C++ 03, что является эффективным способом определить, существует ли только один бит или нет? (например, значение является точно одним из 1, 2, 4, 8, 16, 32 и т. д.) Есть ли встроенные библиотеки C++ 03 (или, если не тогда C++ 11), которые будут эффективно работать на любом оборудовании, Быть на? Я хотел бы использовать это для разлагающегося сообщения, которое встречается все реже в нескольких случаях.Как эффективно определить, является ли вес Хэмминга целого числа равным единице?
0
A
ответ
6
Если у Вас есть целое число x
, что уже известно, не равным нулю, то
if (0 == (x & (x - 1)))
{
there_is_only_1_bit = true;
}
Смежные вопросы
- 1. Является ли сравнение недопустимого целого числа без знака равным -1?
- 2. Как определить, является ли значение равным нулю?
- 3. Как рассчитать вес Хэмминга для вектора?
- 4. проверка четности/нечетности целого числа эффективно
- 5. Как определить, что float является половиной числа?
- 6. Вес Хэмминга написан только в бинарных операциях?
- 7. Как определить значение массива из целого числа?
- 8. Есть ли более простой способ сделать много входов равным единице?
- 9. Как проверить, является ли двоичное представление целого числа палиндром?
- 10. Каков наиболее эффективный способ определить, является ли какое-либо из числа заданного набора чисел равным нулю?
- 11. Как эффективно определить, является ли клиент автономным сервером
- 12. Как определить, является ли число кратным 7 эффективно?
- 13. Определить, является ли база данных «равным» для DacPackage
- 14. Проверьте, является ли строка равным '*'
- 15. Является ли NaN равным 0?
- 16. Является ли «эквивалент» таким же, как «равным» (или «абсолютным равным»)?
- 17. Является ли System.Web.Hosting.HostingEnvironment.Cache равным HttpContext.Current.Cache?
- 18. JavaScript: получите 90% целого числа, до ближайшего целого числа?
- 19. Является ли NSNull равным NSNull
- 20. Является ли NSUInteger равным [NSNumber numberWithUnsignedLongLong]?
- 21. Является ли реализация большого целого числа в ящике num медленным?
- 22. Как установить интервал целого числа?
- 23. Как эффективно определить файл?
- 24. rows count не является членом целого числа
- 25. Как проверить, является ли число равным нулю?
- 26. Размер целого числа в C
- 27. Определите, является ли детерминант точно равным нулю
- 28. Гистограмма целого числа без зацикливания
- 29. Извлечение целого числа из числа
- 30. Как определить, является ли значение числа в apigee
выражение х & = (х-1) выключится младший бит х, который устанавливается. – Logicrat