日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:Python進(jìn)制之間如何轉(zhuǎn)換

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),大田企業(yè)網(wǎng)站建設(shè),大田品牌網(wǎng)站建設(shè),網(wǎng)站定制,大田網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,大田網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

python中整數(shù)的進(jìn)制

Python中的整數(shù)默認(rèn)都是十進(jìn)制的,其表示方法和我們?nèi)粘?吹降臎]有不同,任意給定一個(gè)正數(shù)比如a = 49,都默認(rèn)變量a代表的是十進(jìn)制的整數(shù)。

Python語(yǔ)言一樣可以用二進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示整數(shù),與十進(jìn)制表示法不同,這些進(jìn)制法的表示需要在整數(shù)字面值加一個(gè)前綴即可。

十進(jìn)制demical——無(wú)前綴。如338。

二進(jìn)制binary——0b或OB前綴,如0b1011001。

八進(jìn)制octal——0o前綴,如0o557。

十六進(jìn)制hexadecimal——0x前綴,如0x16f。

一、二進(jìn)制、八進(jìn)制、十六進(jìn)制的整數(shù)轉(zhuǎn)換為十進(jìn)制的整數(shù)

如何把十進(jìn)制數(shù)number轉(zhuǎn)換成二進(jìn)制、八進(jìn)制和二進(jìn)制的整數(shù)?

方法是直接使用Python內(nèi)置函數(shù)bin(number)、oct(number)和hex(number)。

簡(jiǎn)單而粗暴。

a = 16  #a是一個(gè)十進(jìn)制整數(shù)。
bin(a)
Out[39]: '0b10000'
oct(a)  #十進(jìn)制轉(zhuǎn)換成八進(jìn)制。
Out[40]: '0o20'
hex(a)  #十進(jìn)制轉(zhuǎn)換成十六進(jìn)制。
Out[41]: '0x10'

二、十進(jìn)制的整數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制的整數(shù)

如何把二進(jìn)制、八進(jìn)制和十進(jìn)制整數(shù)x轉(zhuǎn)換成十進(jìn)制的整數(shù)?

同樣一個(gè)函數(shù)就能搞定,但是這個(gè)轉(zhuǎn)換相比上面的要略微麻煩一點(diǎn)點(diǎn)。

方法是用int()這個(gè)內(nèi)置函數(shù),可能有人看到這點(diǎn)就覺得沒難度了。但是,這里很容易出錯(cuò)。

一般來(lái)說,int()我們用得挺多,一般把一串只有數(shù)字的字符串轉(zhuǎn)換為int整數(shù),或者浮點(diǎn)數(shù)向零取整。比如:

int('98999')
Out[34]: 98999
type('98999')
Out[35]: str
int('98999')
Out[36]: 98999
type(int('98999'))
Out[37]: int
int(-3.5)
Out[38]: -3
int(3.5)
Out[39]: 3

但是,如果要用int()來(lái)進(jìn)行不同進(jìn)制之間的轉(zhuǎn)換時(shí),其用法就有了一點(diǎn)變化。

int()的完整語(yǔ)法是int(x, base=10),關(guān)于此函數(shù),官方的解釋是這樣的:

返回一個(gè)基于數(shù)字或字符串 x 構(gòu)造的整數(shù)對(duì)象,或者在未給出參數(shù)時(shí)返回 0。

如果 x 不是數(shù)字,或者有 base 參數(shù),x 必須是字符串、bytes、表示進(jìn)制為 base 的 整數(shù)字面值 的 bytearray 實(shí)例。

換句話說,默認(rèn)base=10,即十進(jìn)制;若是base要更改默認(rèn)情況,比如改成base=2,那么它表示前面的x是二進(jìn)制整數(shù)時(shí),x的類型就有了變化,不能是int整型,而必須是str字符串類型了。

所以,把二進(jìn)制、八進(jìn)制和十進(jìn)制整數(shù)x轉(zhuǎn)換成二進(jìn)制的整數(shù)有兩種情況:

第一種情況很簡(jiǎn)單,以二進(jìn)制轉(zhuǎn)換為十進(jìn)制為例,把二進(jìn)制的整數(shù)表示為Python語(yǔ)言規(guī)定的那樣,人覺得別捏但機(jī)器能識(shí)別的形式:'0b101'。這時(shí)直接使用int()函數(shù)即可。加了'0b'開頭的二進(jìn)制數(shù),此時(shí)就是一個(gè)int,可以假設(shè)它是用十進(jìn)制的形式來(lái)表示二進(jìn)制數(shù)。

如下面所給的例子:

x = 0b101
type(x)
Out[50]: int  #此時(shí)type()作用于二進(jìn)制整數(shù)x時(shí),被識(shí)別為int類型。
int(x)
Out[51]: 5

第二種情況復(fù)雜一些,但用得可能更多一些。對(duì)于人的思維,輸入一個(gè)八進(jìn)制數(shù),比如342,會(huì)直接輸入342,而不會(huì)去帶前綴'0o'。對(duì)于這樣的數(shù)字,如何轉(zhuǎn)換成二進(jìn)制才是我們正常思維容易遇到的問題。

前面對(duì)int(x, base=10)有過解釋,當(dāng)base不再是默認(rèn)的10的時(shí)候,x不能再是int型數(shù)據(jù),而必須轉(zhuǎn)為str字符串類型,此函數(shù)才能起作用,否則會(huì)報(bào)錯(cuò)。拿下面的例子作說明。

把一個(gè)八進(jìn)制的整數(shù)754轉(zhuǎn)換成十進(jìn)制的整數(shù),結(jié)果是多少?

x = 754
#把八進(jìn)制整數(shù)754先轉(zhuǎn)換為字符串類型,再使用int()函數(shù)。
int(str(x), 8)  
Out[55]: 492

雖然在思維上更容易接受些,但是從實(shí)現(xiàn)層面上講,如果先把754前面加上0o直接表示為Python可識(shí)別的八進(jìn)制整數(shù),再直接使用int()函數(shù)會(huì)更不容易出錯(cuò)一些。個(gè)人更推薦第一種轉(zhuǎn)換方法。

小結(jié)

十進(jìn)制整數(shù)number轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制的整數(shù),直接使用Python內(nèi)置函數(shù)bin(number)、oct(number)和hex(number)即可。

二進(jìn)制、八進(jìn)制、十六進(jìn)制整數(shù)x轉(zhuǎn)換為十進(jìn)制的整數(shù),先把它們統(tǒng)一表示為Python可識(shí)別的樣式,二進(jìn)制前面加前綴0b,八進(jìn)制前面加前綴0o,十六進(jìn)制前面加0x,再直接使用int(x)即可得到所需要的十進(jìn)制整數(shù)。

python學(xué)習(xí)網(wǎng),大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!

本文轉(zhuǎn)自:https://www.jianshu.com/p/8d5771e302a3


網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:Python進(jìn)制之間如何轉(zhuǎn)換
網(wǎng)頁(yè)地址:http://m.5511xx.com/article/dpcspcs.html