python的整數數字可以用二、八、十六不同進制表示,它們可以和十進制相互轉換。python的數字可以進行位操作。
1.1 python二八十六進制整數
python整數默認用十進制表示,也可以用二進制、八進制、十六進制表示整數。
python二進制(binary)整數以0b或0B開頭。
python八進制(Octal)整數以0o或0O開頭。
python十六進制(Hex)整數以0x或0X開頭。
1.1.1 不同進制內置函數
python不同進制整數的內置函數分為兩類。
一類將十進制整數轉換為不同進制。
一類將不同進制整數轉換為十進制。
序號 | 內置函數 | 描述 |
---|---|---|
1 | bin() | 將十進制整數轉為二進制 |
2 | oct() | 將十進制整數轉為八進制 |
3 | hex() | 將十進制整數轉為十六進制 |
4 | int(str,base) | 將不同進制整數字符串轉為十進制 |
示例
>>> 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()轉十進制整數
python的eval()函數可以將字符串作為代碼執行。速度慢,且存在安全問題。
可以通過eval()達到int()函數的效果,將不同進制整數字符串轉為十進制。
示例
>>> eval('95'),eval('0b1011111'),eval('0o137'),eval('0x5f')
(95, 95, 95, 95)
1.1.3 %和format()轉不同進制整數
python的字符串格式化表達式%和格式化方法format也可以將十進制整數轉為不同進制。
示例
>>> '%o,%x' % (95,95)
'137,5f'
>>> '{0:b},{1:o},{2:x}'.format(95,95,95)
'1011111,137,5f'
1.2 python數字位操作
python數字把整數當做二進制進行位操作,比如左移、右移、或、與等。
python二進制位操作 | ||
---|---|---|
序號 | 位操作 | 描述 |
1 | x<>n | 右移n位,表示縮小2的n次方方倍 |
3 | x | n |
4 | x&n | 位與,全1位1,否則為0 |
注意 :相同整數進行與、或,結果不變,為原值。
示例
>>> 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
更多內容參考python學習筆記或軟件測試開發目錄。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
發布評論請先 登錄
相關推薦
十六進制和八進制轉換原理
,可以得到十六進制數的一般表達式:例:十六進制轉換為十進制: (4E6)H= 4×162+14×161+6×160 = 4×256+14×16+6×1=(1254)D例:二
發表于 04-06 23:54
LabVIEW中如何實現十六進制和ASCII之間的轉換
實現將這個十六進制表示轉換為其對應的ASCII表示?如果需要以十六進制等價的形式向儀器發送命令,該如何實現?解答: 將十六進制轉換為ASCI
發表于 10-20 11:20
labview教程:十六進制和ASCII之間的相互轉換轉
表示轉換為其對應的ASCII表示實現通信。將十六進制轉換為ASCII:. 為了將一個十六進制的字符串轉化為ASCII字符串,您必須首先使用掃描值函數將
發表于 01-05 11:21
十六進制編輯器
關鍵詞TKStudio,HexEditor,十六進制,編輯器摘 要十六進制編輯器HexEditor是TKStudio附帶的輔助工具,用來顯示或編輯十六進制文件。
發表于 11-10 13:31
?47次下載
ASCII碼轉換成十六進制數
ASCII碼轉換成十六進制數
入口條件:待轉換的ASCII碼(30H~39H或41H~46H)在A中。出口信息:轉換后的十六進制數(00H
發表于 01-19 22:48
?1.4w次閱讀
單字節BCD碼小數轉換成單字節十六進制小數
單字節BCD碼小數轉換成單字節十六進制小數
入口條件:待轉換的單字節BCD碼數在累加器A中。出口信息:轉換后的單字節十六進制小
發表于 01-19 22:50
?1681次閱讀
如何進行ASCII碼和十六進制數的轉換
本文檔的主要內容詳細介紹的是如何使用51單片機進行ASCII碼和十六進制數的轉換資料免費下載題目:用查表法將一位十六進制數轉換為ASCII碼,入口參數放在內部RAM 50H中,出口參數
發表于 07-08 17:41
?7次下載
評論