首页 > 试题广场 >

两个整数二进制位不同个数

[编程题]两个整数二进制位不同个数
  • 热度指数:6593 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入两个整数,求两个整数二进制格式有多少个位不同

输入描述:
两个整数


输出描述:
二进制不同位的个数
示例1

输入

22 33

输出

5
异或两行,‘1’的个数就行了
a,b=map(int,input().split())
print(str(bin(a^b)).count('1'))  
发表于 2019-04-03 17:48:23 回复(0)

python3两行

a, b = map(lambda c: bin(int(c)).replace("0b", "").rjust(32, '0'), input().split())
print(sum(map(lambda c: a[c] != b[c], range(32))))
  • 第一行:统一格式,将a,b转化成32位二进制格式字符串

  • 第二行,对32位分别进行计算判断是相同,将结果累加。

编辑于 2019-02-23 10:13:56 回复(0)