【= 2的幂 =】
题目描述
传送门
解题思路
纯纯的数学计算 没啥好说的
解题方法
function isPowerOfTwo($n) {
if ($n == 1) return true;
while ($n/2 != 0 && $n%2 == 0) {
$n = (int) $n/2;
}
return $n == 1;
}
func isPowerOfTwo(n int) bool {
return n >0 && n&(n-1) == 0;
}


func isPowerOfTwo(n int) bool {
for (n != 0){
if n == 1 {
return true;
}
if(n % 2 != 0) {
return false
}else{
n /= 2
}
}
return false
}

[= 位1的个数 =]
题目描述
传送门
解题思路
简单直接: 1、将无符号整数转为二进制 2、检索1的个数
解题方法
function hammingWeight($n) {
return substr_count(decbin($n), 1);
}

func hammingWeight(num uint32) int {
count := 0
for num >0 {
if(num%2 == 1) {
count++
}
num /= 2
}
return count
}

|