Python: 计算两个二进制数字的不同位数
可以使用异或运算符 (^) 来获取两个二进制数字之间不同的位数。
异或运算符对两个二进制数字的对应位进行比较,如果两个位不同,则结果为 1;如果两个位相同,则结果为 0。
以下是一个示例代码,演示了如何获取两个二进制数字之间不同的位数:
def count_different_bits(num1, num2):
# 异或运算
xor_result = num1 ^ num2
# 统计不同位数的个数
count = 0
while xor_result != 0:
# 每次右移一位,判断最低位是否为 1
if xor_result & 1:
count += 1
xor_result >>= 1
return count
# 测试示例
num1 = 0b101011
num2 = 0b110101
result = count_different_bits(num1, num2)
print(f'不同位数的个数为:{result}')
输出结果为:
不同位数的个数为:4
在示例中,num1 和 num2 是两个二进制数字,使用异或运算符得到 xor_result。然后通过循环右移 xor_result,判断最低位是否为 1,从而统计不同位数的个数。最后返回不同位数的个数。
原文地址: https://www.cveoy.top/t/topic/hoM4 著作权归作者所有。请勿转载和采集!