Python 10基整数的补充

假设我们有一个十进制数字系统。我们必须以二进制形式获取数字的补码,然后再次将其更改为十进制并返回结果。因此,如果数字为20,则二进制格式为10100,补码为01011,十进制为11

为了解决这个问题,我们将遵循以下步骤-

  • s:=数字n的二进制字符串

  • sum:= 0和num:= 1

  • 对于s中每个元素i的反方向

    • 如果i ='b',则返回和

    • 否则,当i ='0'时,求和:= sum + num

    • num:= num * 2

示例

让我们看下面的实现以更好地理解-

class Solution(object):
   def bitwiseComplement(self, N):
      s = str(bin(N))
      sum = 0
      num = 1
      for i in s[::-1]:
         if i == "b":
            return sum
         elif i =="0":
            sum+=num
         num*=2
ob1 = Solution()print(ob1.bitwiseComplement(20))

输入值

20

输出结果

11