本文將從以下幾個方面對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-hk/n/373398.html