python 十进制与二进制以及位运算
From: http://blog.sina.com.cn/s/blog_681de30a01013uiw.html
???在python2.6以上的版本中自帶了將十進(jìn)制轉(zhuǎn)化為二進(jìn)制的函數(shù)bin()。
????看一下bin.__doc__怎么說的。
>>>print bin.__doc__
bin(number) -> string
return the binary represiontation of an integer or long integer
????這就是一個將十進(jìn)制轉(zhuǎn)換為二進(jìn)制的函數(shù),輸出是一個字符串。那么輸出看看。
>>>a = 50
>>>bin(a)
'0b110010'
????的確輸出了,但是多了前面兩位'0b'。那么在輸出的時候用bin(a)[2:]就可以避免了。
?
????再來說說怎么將二進(jìn)制轉(zhuǎn)換為十進(jìn)制。
????先看看這個函數(shù)int(),使用方法是int(x, base)其中base是可選項。這個函數(shù)的__doc__大概講的是在可以的情況下,將一個字符串或者數(shù)字轉(zhuǎn)化為一個整型數(shù)字。浮點數(shù)將去掉小數(shù)位;對于字符串,需要用到base參數(shù)。
????對于浮點數(shù)的這個用法一般人都會比較清楚。對于字符串的這個,初步了解到了可以這么用。
>>>a='1010'
>>>int(a,2)
10
????可以看出把二進(jìn)制表示的一個字符串變成了十進(jìn)制。同理,對于十六進(jìn)制也可以這么干。
>>>a='1a'
>>>int(a,16)
26
????這個就是進(jìn)制間的轉(zhuǎn)換問題。怎么把十進(jìn)制轉(zhuǎn)換成十六進(jìn)制,在不用自己編函數(shù)的情況下我還不知道有什么方法。有朋友知道可以分享下。
?
????關(guān)于位運(yùn)算,python提供了以下方法,:&(按位與),|(按位或),^(按位異或),~(按位取反),>>(右移運(yùn)算),<<(左移運(yùn)算)。優(yōu)先級從高到低依次為:~, & , ^, |。
總結(jié)
以上是生活随笔為你收集整理的python 十进制与二进制以及位运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入学习http协议(转)
- 下一篇: Python脚本模拟登录网页之CSDN篇