數字的補數 取反

2021-10-09 03:05:32 字數 702 閱讀 2675

給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。

示例 1:

輸入: 5

輸出: 2

解釋: 5 的二進位制表示為 101(沒有前導零位),其補數為 010。所以你需要輸出 2 。

示例 2:

輸入: 1

輸出: 0

解釋: 1 的二進位制表示為 1(沒有前導零位),其補數為 0。所以你需要輸出 0 。

# -*- coding: utf-8 -*-

#!/usr/bin/env python

"""@author: wowlnan

@github:

@blog:

"""class solution:

def findcomplement(self, num: int) -> int:

s = bin(num)

a = s[:2]

for i in range(2, len(s)):

digit=1^(int(s[i]))

a+=str(digit)

return int(a, 2)

這裡使用python內建函式bin直接轉為為 "0b****"的二進位制字元。手寫函式也很方便,除2取餘數,再取商重複,拼接起來是就是二進位制數。

476數字的補數

題目點我 給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋...

476 數字的補數

題目 給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位 示例 1 輸入 5輸出 2解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1輸出 0解釋 1的二進位...

476 數字的補數

給定乙個正整數,輸出它的補數。補數是對該數的二進位制表示取反。注意 給定的整數保證在32位帶符號整數的範圍內。你可以假定二進位制數不包含前導零位。示例 1 輸入 5 輸出 2 解釋 5的二進位制表示為101 沒有前導零位 其補數為010。所以你需要輸出2。示例 2 輸入 1 輸出 0 解釋 1的二進...