在 Python 中,將十進制整數轉換為二進制有多種方法。以下是幾種常見的方式:
1. 使用 bin()
函數
bin()
是 Python 內置函數,可以將十進制整數轉換為二進制字符串。
語法
bin(n)
示例
n = 13
binary_str = bin(n)
print(binary_str) # 輸出: 0b1101
說明
bin()
返回的字符串以0b
開頭,表示這是一個二進制數。- 如果需要去掉
0b
前綴,可以使用切片操作:binary_str = bin(n)[2:] print(binary_str) # 輸出: 1101
2. 使用 format()
函數
format()
函數可以將整數格式化為二進制字符串。
語法
format(n, 'b')
示例
n = 13
binary_str = format(n, 'b')
print(binary_str) # 輸出: 1101
說明
format()
不會添加0b
前綴,直接返回二進制字符串。- 如果需要固定位數,可以指定寬度。例如,
format(n, '08b')
會將結果填充為 8 位:binary_str = format(n, '08b') print(binary_str) # 輸出: 00001101
3. 使用 f-string
(Python 3.6+)
f-string
是一種簡潔的字符串格式化方式,支持直接格式化二進制。
語法
f"{n:b}"
示例
n = 13
binary_str = f"{n:b}"
print(binary_str) # 輸出: 1101
說明
- 類似于
format()
,f-string
也不會添加0b
前綴。 - 同樣可以指定寬度,例如
f"{n:08b}"
。
4. 手動實現轉換
如果你需要手動實現十進制到二進制的轉換,可以使用除 2 取余法。
代碼實現
def decimal_to_binary(n):if n == 0:return "0"binary_str = ""while n > 0:binary_str = str(n % 2) + binary_strn = n // 2return binary_str# 示例
n = 13
print(decimal_to_binary(n)) # 輸出: 1101
說明
- 通過不斷除以 2 并取余數,將余數逆序拼接成二進制字符串。
總結
- 推薦方法:使用
bin()
、format()
或f-string
,簡單高效。 - 手動實現:適合理解二進制轉換的原理,但實際開發中無需重復造輪子。
根據需求選擇合適的方法即可!