检查 Python 中数字的所有位是否均已设置
假设我们有一个数字 n。我们必须检查给定数字 n 的所有位是否都已设置(1)。
因此,如果输入为 n = 255,则输出将为 True,因为 255 的二进制表示形式为 11111111。
为了解决此问题,我们将遵循以下步骤 −
- 如果数字等于 0,则
- 返回 False
- 当数字 > 0 时,执行
- 如果数字为偶数,则
- 返回 False
- 数字 := 数字/2 商
- 如果数字为偶数,则
- 返回 True
让我们看看以下实现以获得更好的理解 −
示例
def solve(number): if number == 0: return False while number > 0: if (number & 1) == 0: return False number = number >> 1 return True n = 255 print(solve(n))
输入
255
输出
True
广告