為了將整數轉換為二進制、八進制或十六進制的文本串,可以分別使用bin() ,oct() 或hex() 函數:
>>> x = 1234 >>> bin(x) '0b10011010010' >>> oct(x) '0o2322' >>> hex(x) '0x4d2'
如果你不想輸出0b , 0o 或者0x 的前綴的話,可以使用format() 函數
>>> format(x, 'b') '10011010010' >>> format(x, 'o') '2322' >>> format(x, 'x') '4d2'
整數是有符號的,所以如果你在處理負數的話,輸出結果會包含一個負號
>>> x = -1234 >>> format(x, 'b') '-10011010010' >>> format(x, 'x') '-4d2'
如果你想產生一個無符號值,你需要增加一個指示最大位長度的值。比如為了顯示32 位的值,可以像下面這樣寫:
>>> x = -1234 >>> format(2**32 + x, 'b') '11111111111111111111101100101110' >>> format(2**32 + x, 'x') 'fffffb2e'
為了以不同的進制轉換整數字符串,簡單的使用帶有進制的int() 函數即可
>>> int('4d2', 16) 1234 >>> int('10011010010', 2) 1234