📅  最后修改于: 2023-12-03 14:55:43.367000             🧑  作者: Mango
当我们处理数字时,有时需要判断数字内部是否存在一些特殊的特征,比如数字是否有两个相邻的置位。本文将介绍如何检查一个数字是否有两个相邻的置位,并提供相应代码实现。
我们可以将数字转化为二进制字符串,然后遍历字符串,判断相邻两位是否都为1。如果存在这样的情况,就返回True,否则返回False。
def check_two_adjacent_bits(num):
binary_str = bin(num)[2:]
for i in range(len(binary_str)-1):
if binary_str[i] == '1' and binary_str[i+1] == '1':
return True
return False
我们编写了以下测试样例,验证程序的正确性。
assert check_two_adjacent_bits(7) == True
assert check_two_adjacent_bits(6) == False
assert check_two_adjacent_bits(15) == True
assert check_two_adjacent_bits(128) == False
通过本文的介绍,我们了解到如何检查一个数字是否有两个相邻的置位。该算法思路简单易懂,代码实现也较为简单,可以方便地应用到实际的项目中。