首页 > 试题广场 >

bit位数

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

数据范围:

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


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

输入

15 8

输出

3

说明

15的二进制表示中后四位是 1111 , 3的二进制表示中后四位是 0011,因此有两位不同 
异或之后求1的位数就行了

class MainActivity:

    def main(self):
        # Read the data
        m, n = map(int, filter(lambda x: len(x) > 0, input().split(' ')))
        # Calculate
        result = m ^ n
        print(bin(result)[2:].count('1'))


if __name__ == '__main__':
    M = MainActivity()
    M.main()
发表于 2024-08-24 14:40:54 回复(0)