В статье на сайте exploringbinary.com описаны алгоритмы определения, является ли число двойкой в какой-либо степени.
Самый быстрый способ:
int isPowerOfTwo (unsigned int x) { return ((x != 0) && ((x & (~x + 1)) == x)); }
В статье на сайте exploringbinary.com описаны алгоритмы определения, является ли число двойкой в какой-либо степени.
Самый быстрый способ:
int isPowerOfTwo (unsigned int x) { return ((x != 0) && ((x & (~x + 1)) == x)); }