首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python 進制轉換速查手冊:二進制、八進制、十進制、十六進制互轉

     編輯:更多程式設計知識

字面量表示法

進制前綴示例十進制值
二進制0b / 0B0b113
八進制0o / 0O (Py3) / 0 (Py2)0o119
十六進制0x / 0X0x1117

內置轉換函數


# 十進制 → 其他
bin(10)    # '0b1010'
oct(8)     # '0o10'
hex(10)    # '0xa'

# 其他 → 十進制
int('1001', 2)   # 9
int('0xab', 16)  # 171
int('12', 8)     # 10

# 格式化輸出(不帶前綴)
format(10, 'b')  # '1010'
format(10, 'o')  # '12'
format(10, 'x')  # 'a'
f'{10:b}'        # '1010' (f-string)

# 任意進制間轉換通用函數
def convert(num_str, from_base, to_base):
    return format(int(num_str, from_base), 'x' if to_base==16 else 'o' if to_base==8 else 'b')

互轉速查表

來源 → 目標代碼示例結果
10 → 2bin(10)'0b1010'
2 → 10int('1001', 2)9
10 → 16hex(10)'0xa'
16 → 10int('ff', 16)255
16 → 2bin(0xa)'0b1010'
2 → 16hex(0b1001)'0x9'
10 → 8oct(8)'0o10'
8 → 10int('12', 8)10

注意事項

  • Python 3 八進制字面量必須用 0o,0 開頭語法已移除;
  • int() 第二參數支援 2–36 進制;
  • 格式化輸出用 format() 或 f-string 更靈活,不帶前綴。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved