首页 > 试题广场 >

bit位数

[编程题]bit位数
  • 热度指数:2701 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
两个整数 m 和 n 的二进制表达中有多少个位(bit)不同?

数据范围:

输入描述:
一行中给定两个数字


输出描述:
输出这两个数字中bit不同的个数
示例1

输入

15 8

输出

3

说明

15的二进制表示中后四位是 1111 , 3的二进制表示中后四位是 0011,因此有两位不同 

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-24 11:43:26 回复(0)

问题信息

上传者:小小
难度:
1条回答 3642浏览

热门推荐

通过挑战的用户

查看代码