题目描述
两个int32整数m和n的二进制表达,计算有多少个位(bit)不同?
例如输入15,8 输出3
因为15 = 1111 8 = 1000 有3位不同
代码:
1 | import sys |
知识点:python中的bin()可以直接将int型转换为2进制,输出格式为0b****,所以这里要把0b去掉。
而且转换后位数不同,这里取最长的位数,用rjust()向右对齐,左边空缺处补0。
两个int32整数m和n的二进制表达,计算有多少个位(bit)不同?
例如输入15,8 输出3
因为15 = 1111 8 = 1000 有3位不同
代码:
1 | import sys |
知识点:python中的bin()可以直接将int型转换为2进制,输出格式为0b****,所以这里要把0b去掉。
而且转换后位数不同,这里取最长的位数,用rjust()向右对齐,左边空缺处补0。