本文將從以下幾個方面對Python輸出整數的二進位進行詳細的闡述:
一、bin()函數的使用
Python提供了一個內置函數bin(),可以將整數轉換成二進位數。
n = 10 s = bin(n) print(s)
輸出結果為:0b1010,其中「0b」表示二進位。
需要注意的是,bin()函數返回的是字元串類型。
二、格式化字元串的使用
Python中,我們還可以使用格式化字元串的方法,將整數轉換成二進位數。
n = 10 s = "{0:b}".format(n) print(s)
輸出結果為:1010。
其中,{0}表示第一個參數n,而「:b」表示將n轉換成二進位數。
三、自定義函數實現
除了以上兩種方法,我們還可以自定義函數來實現將整數轉換成二進位數。
def to_binary(n): if n == 0: return '0' s = '' while n > 0: s = str(n % 2) + s n //= 2 return s n = 10 s = to_binary(n) print(s)
輸出結果為:1010。
上述函數通過不斷對整數進行除以2操作,並記錄餘數,最終將餘數按照從低到高的順序拼接起來,得到二進位數。
四、補齊位數的實現
有時候,我們需要將二進位數補齊到指定位數,可以使用「{:0>位數}」的格式化字元串。
n = 10 s = "{:0>8}".format(bin(n)[2:]) print(s)
輸出結果為:00001010。
其中,[2:]是為了去掉bin()函數返回的字元串中的「0b」,字元串「{:0>8}」的含義是將二進位數補齊成8位,不足的用「0」填充。
五、結合位運算實現
最後,我們可以結合位運算來實現將整數轉換成二進位數。
n = 10 s = '' for i in range(31, -1, -1): s += str((n >> i) & 1) print(s)
輸出結果為:00000000000000000000000000001010。
上述代碼中,我們從高位到低位逐個取出整數n的二進位位,並按順序拼接成字元串。其中,「(n >> i) & 1」是獲取n的第i位二進位數,並將其轉換成十進位數,再和1進行按位與運算,得到該二進位位的值。
原創文章,作者:OSSCS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/373398.html