Finding if a number is a power of 2

前端 未结 7 1200
孤城傲影
孤城傲影 2021-02-18 18:15

Just out of curiosity, how can you tell if a number x is a power of two (x = 2^n) without using recursion.

Thanks

7条回答
  •  故里飘歌
    2021-02-18 18:39

    If it's a power of 2? Well, one way is to convert it to binary, and verify the presence of only 1 1...:

    $bin = decbin($number);
    if (preg_match('/^0*10*$/', $bin)) {
        //Even Power Of 2
    }
    

提交回复
热议问题