Python: 二進制、八進制、十六進制轉換或者輸出


為了將整數轉換為二進制、八進制或十六進制的文本串,可以分別使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM