python 數值系列 進製轉換

2022-08-26 08:48:11 字數 1767 閱讀 3183

前語:如果您不通二進位制,八進位制,十六進製制,請移步:

你需要轉換或者輸出使用二進位制,八進位制或十六進製制表示的整數。

為了將整數轉換為二進位制、八進位制或十六進製制的文字串, 可以分別使用bin(),oct()hex()函式:

1 >>> x = 1234

2 >>>bin(x)3'

0b10011010010

'4 >>>oct(x)5'

0o2322

'6 >>>hex(x)7'

0x4d2

'8 >>>

另外,如果你不想輸出0b,0o或者0x的字首的話,可以使用format()函式。比如:

1 >>> format(x, 'b'

)2'10011010010

'3 >>> format(x, 'o'

)4'2322

'5 >>> format(x, 'x'

)6'4d2

'7 >>>

整數是有符號的,所以如果你在處理負數的話,輸出結果會包含乙個負號。比如:

1 >>> x = -1234

2 >>> format(x, 'b'

)3'-10011010010

'4 >>> format(x, 'x'

)5'-4d2

'6 >>>

如果你想產生乙個無符號值,你需要增加乙個指示最大位長度的值。比如為了顯示32位的值,可以像下面這樣寫:

1 >>> x = -1234

2 >>> format(2**32 + x, 'b'

)3'11111111111111111111101100101110

'4 >>> format(2**32 + x, 'x'

)5'fffffb2e

'6 >>>

為了以不同的進製轉換整數字串,簡單的使用帶有進製的int()函式即可:

1 >>> int('

4d2', 16)

2 1234

3 >>> int('

10011010010

', 2)

4 1234

5 >>>

大多數情況下處理二進位制、八進位制和十六進製制整數是很簡單的。 只要記住這些轉換屬於整數和其對應的文字表示之間的轉換即可。永遠只有一種整數型別。

最後,使用八進位制的程式設計師有一點需要注意下。 python指定八進位制數的語法跟其他語言稍有不同。比如,如果你像下面這樣指定八進位制,會出現語法錯誤:

1 >>> import

os2 >>> os.chmod('

script.py

', 0755)

3 file "

", line 1

4 os.chmod('

script.py

', 0755)

5 ^

6syntaxerror: invalid token

7 >>>

需確保八進位制數的字首是0o,就像下面這樣:

1 >>> os.chmod('

script.py

', 0o755)

2 >>>

Python中數值和進製轉換

python數值和進製轉換 1.1 python中數值型別 int 整型 123 long 長整型 2147483648l float 浮點型 3.14 不同的數值型別會自動擴充 int數值大於或等於2 31次方,會自動轉換成long 表示方式是在數值後面加上l 如果int或long和float一起...

Python 進製轉換

python 進製轉換 1 oct hex bin 允許把 整數轉換為其他進製的字串 例子 oct 64 hex 64 bin 64 0100 0x40 0b1000000 oct函式會將十進位制數轉換為八進位制數,hex函式會將十進位制數轉換為十六進製制數,而 bin函式會將十進位制轉換為二進位制...

Python 進製轉換

python手擼實現十進位制轉16 8 2進製 class solution object def init self pass def convert self while true input num input 請輸入乙個整數 輸入q結束程式 if input num q return ten...