python的整數(shù)數(shù)字可以用二、八、十六不同進(jìn)制表示,它們可以和十進(jìn)制相互轉(zhuǎn)換。python的數(shù)字可以進(jìn)行位操作。
1.1 python二八十六進(jìn)制整數(shù)
python整數(shù)默認(rèn)用十進(jìn)制表示,也可以用二進(jìn)制、八進(jìn)制、十六進(jìn)制表示整數(shù)。
python二進(jìn)制(binary)整數(shù)以0b或0B開頭。
python八進(jìn)制(Octal)整數(shù)以0o或0O開頭。
python十六進(jìn)制(Hex)整數(shù)以0x或0X開頭。
1.1.1 不同進(jìn)制內(nèi)置函數(shù)
python不同進(jìn)制整數(shù)的內(nèi)置函數(shù)分為兩類。
一類將十進(jìn)制整數(shù)轉(zhuǎn)換為不同進(jìn)制。
一類將不同進(jìn)制整數(shù)轉(zhuǎn)換為十進(jìn)制。
序號(hào) | 內(nèi)置函數(shù) | 描述 |
---|---|---|
1 | bin() | 將十進(jìn)制整數(shù)轉(zhuǎn)為二進(jìn)制 |
2 | oct() | 將十進(jìn)制整數(shù)轉(zhuǎn)為八進(jìn)制 |
3 | hex() | 將十進(jìn)制整數(shù)轉(zhuǎn)為十六進(jìn)制 |
4 | int(str,base) | 將不同進(jìn)制整數(shù)字符串轉(zhuǎn)為十進(jìn)制 |
示例
>>> bin(95),oct(95),hex(95)
('0b1011111', '0o137', '0x5f')
>>> int('95'),int('0b1011111',2),int('0o137',8),int('0x5f',16)
(95, 95, 95, 95)
1.1.2 eval()轉(zhuǎn)十進(jìn)制整數(shù)
python的eval()函數(shù)可以將字符串作為代碼執(zhí)行。速度慢,且存在安全問題。
可以通過eval()達(dá)到int()函數(shù)的效果,將不同進(jìn)制整數(shù)字符串轉(zhuǎn)為十進(jìn)制。
示例
>>> eval('95'),eval('0b1011111'),eval('0o137'),eval('0x5f')
(95, 95, 95, 95)
1.1.3 %和format()轉(zhuǎn)不同進(jìn)制整數(shù)
python的字符串格式化表達(dá)式%和格式化方法format也可以將十進(jìn)制整數(shù)轉(zhuǎn)為不同進(jìn)制。
示例
>>> '%o,%x' % (95,95)
'137,5f'
>>> '{0:b},{1:o},{2:x}'.format(95,95,95)
'1011111,137,5f'
1.2 python數(shù)字位操作
python數(shù)字把整數(shù)當(dāng)做二進(jìn)制進(jìn)行位操作,比如左移、右移、或、與等。
python二進(jìn)制位操作 | ||
---|---|---|
序號(hào) | 位操作 | 描述 |
1 | x<>n | 右移n位,表示縮小2的n次方方倍 |
3 | x | n |
4 | x&n | 位與,全1位1,否則為0 |
注意 :相同整數(shù)進(jìn)行與、或,結(jié)果不變,為原值。
示例
>>> x = 2
>>> x << 3
16
>>> y = 16
>>> y >> 3
2
>>> x | 2
2
>>> x | 1
3
>>> x & 2
2
>>> x & 1
0
>>> x = 2
>>> bin(x)
'0b10'
>>> bin(x << 3)
'0b10000'
>>> int('0b10000',2)
16
>>> bin(x)
'0b10'
>>> bin(1)
'0b1'
>>> bin(x|1)
'0b11'
>>> int('0b11',2)
3
更多內(nèi)容參考python學(xué)習(xí)筆記或軟件測(cè)試開發(fā)目錄。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
十六進(jìn)制和八進(jìn)制轉(zhuǎn)換原理
LabVIEW中如何實(shí)現(xiàn)十六進(jìn)制和ASCII之間的轉(zhuǎn)換
labview教程:十六進(jìn)制和ASCII之間的相互轉(zhuǎn)換轉(zhuǎn)
十六進(jìn)制編輯器
ASCII碼轉(zhuǎn)換成十六進(jìn)制數(shù)
單字節(jié)BCD碼整數(shù)轉(zhuǎn)換成單字節(jié)十六進(jìn)制整數(shù)
雙字節(jié)BCD碼整數(shù)轉(zhuǎn)換成雙字節(jié)十六進(jìn)制整
單字節(jié)BCD碼小數(shù)轉(zhuǎn)換成單字節(jié)十六進(jìn)制小數(shù)
雙字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼整數(shù)
單字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成單字節(jié)BCD碼整數(shù)
二進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換
![二<b class='flag-5'>進(jìn)制</b>數(shù)與<b class='flag-5'>十六進(jìn)制</b>數(shù)的相互<b class='flag-5'>轉(zhuǎn)換</b>](https://file1.elecfans.com//web2/M00/A5/46/wKgZomUMN7KAICyoAAAcUKX9sa8305.jpg)
如何進(jìn)行ASCII碼和十六進(jìn)制數(shù)的轉(zhuǎn)換
![如何進(jìn)行ASCII碼和<b class='flag-5'>十六進(jìn)制</b>數(shù)的<b class='flag-5'>轉(zhuǎn)換</b>](https://file.elecfans.com/web1/M00/9A/D5/o4YBAF0i7ImAE9NMABFsnBIo6oU927.png)
UltraEdit十六進(jìn)制編輯器
![UltraEdit<b class='flag-5'>十六進(jìn)制</b>編輯器](https://file1.elecfans.com/web2/M00/88/C6/wKgaomRy8gCACsANAABEqfJDjbs811.png)
評(píng)論