type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 20, 2025 07:58 AM
给你一个整数
n
,请你判断该整数是否是 2 的幂次方。如果是,返回 true
;否则,返回 false
。如果存在一个整数
x
使得 n == 2x
,则认为 n
是 2 的幂次方。位运算基础
使用内置函数
判断 0 的个数
不使用内置函数
根据位运算的性质。如果只有一个 1,该数字减去 1 后,其低位都为 1,
(n & (n - 1))
必定为 0。(n & (n - 1))
也常用余去除最低位的 1,因此在这个题目中,也可以理解为去除最低位的 1 后,就是 0 了。📎 参考
- 无