固定长度二进制数在python上的二进制符合数

时间:2018-10-20 13:51:58

标签: python binary bin

所以我需要一个python函数来计算二进制数,该二进制数与用二进制编写的两个数字重合但已知长度固定。例如,如果n = 8是二进制长度,则:

a = 0011 0110
b = 0101 1111
--------------
c = 1001 0110 -> 4

应该得到4的结果。 c上的每个0都是非巧合,每个1表示巧合。由于c有4个,则结果为4。

我需要尽快尽快

1 个答案:

答案 0 :(得分:1)

这是我认为非常有效的最终解决方案:

bin(a ^ b)[2:].zfill(n).count("0")

说明 逻辑是使用xor来获取巧合次数。使用XOR,我实际上得到了与该问题相反的示例,因为巧合将意味着0,而非巧合将意味着1。因此,我将不得不取反,但在此之前,我应该将n的大小设为数字,因为答案实际上是110 1001,因此我得到的响应为3而不是4。