c++进制转换_一文了解进制之间的原理和转换
點(diǎn)擊這段文字:?獲取2020年,最強(qiáng)Python學(xué)習(xí)資料
進(jìn)制這塊,可以做簡(jiǎn)單的了解。生活中我們使用的數(shù)字都是十進(jìn)制的,而二進(jìn)制是機(jī)器能夠識(shí)別的最直接的語(yǔ)言。但是二進(jìn)制又太大,記錄起來(lái)非常的不方便。所以通常會(huì)將二進(jìn)制轉(zhuǎn)化為八進(jìn)制或者十六進(jìn)制。
日常生活中我們所說(shuō)的數(shù)字 (十進(jìn)制)在0~9之間,同理 二進(jìn)制的范圍是0~1,八進(jìn)制的范圍0~7,十六進(jìn)制的范圍0~15。那問(wèn)題來(lái)了,當(dāng)超過(guò)9之后,十六進(jìn)制該如何表示呢?答案是用a~f,表示對(duì)應(yīng)的10~15
進(jìn)制的表達(dá)
在Python中該如何表示每一種進(jìn)制呢?
- 默認(rèn)輸入的數(shù)字為十進(jìn)制
- 以0b開頭的數(shù)字表示二進(jìn)制
- 以0o開頭的數(shù)字表示八進(jìn)制
- 以0x開頭的數(shù)字表示十六進(jìn)制
a?=?12
print(a)?#?12
#?0b表示二進(jìn)制
b?=?0b100100?
print(b)?#?36
#?0o表示八進(jìn)制
c?=?0o56
print(c)?#?46
#?0x表示十六進(jìn)制
d?=?0x2a1
print(d)?#?673
進(jìn)制之間的轉(zhuǎn)換
1、十進(jìn)制轉(zhuǎn)二進(jìn)制
將十進(jìn)制數(shù)除2取余數(shù),直到商為0時(shí)。
以12為例,
12?/?2?=?6??余?0?6??/??2?=?3??余?0
3??/??2?=?1??余?1
1??/??2?=?0??余?1
從上到下取余數(shù),因此,12 對(duì)應(yīng)的 二進(jìn)制 為 ?:1100
2、二進(jìn)制轉(zhuǎn)十進(jìn)制
把二進(jìn)階按權(quán)展開,相加即可。如二進(jìn)制位:1100,按照下面的格式展開
???0????0???1?????11\*2^0?1\*2^1?1\*2^2?1\*2^3?
0 ?* ?1*2^0 + 0 * 1*2^1 + 1 * ?1*2^2 ?+ 1 * 1*2^3 = 12
3、二進(jìn)制與八進(jìn)制轉(zhuǎn)換
將2進(jìn)制從右到左的順序按照3位拆分,不足時(shí) 補(bǔ)0。例如二進(jìn)制:1100可拆分成
001 100 ?然后按權(quán)展開組合起來(lái)即可。
即:
0*2^2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 1
1*2^2 + ?0 * 2 ^ 1 ?+ ?0 * 2 ^ 0 ?= 4
因此對(duì)應(yīng)的八進(jìn)制為 14。
4、八進(jìn)制轉(zhuǎn)二進(jìn)制
通過(guò)對(duì)八進(jìn)制除2取余數(shù),
1的二進(jìn)制為1 ,不夠3位補(bǔ)0,即001
4的二進(jìn)制為100
因此八進(jìn)制14轉(zhuǎn)二進(jìn)制的結(jié)果 為:001100
事實(shí)上,日常中用到的主要就是二進(jìn)制和十進(jìn)制的轉(zhuǎn)換,其他了解一下就可以了。
在Python中,已經(jīng)講各種進(jìn)制的轉(zhuǎn)換進(jìn)行了封裝,直接調(diào)用即可。
a?=?12print(bin(a))?#?0b1100???十進(jìn)制轉(zhuǎn)二進(jìn)制
print(oct(a))?#?0o14??十進(jìn)制轉(zhuǎn)八進(jìn)制
print(hex(a))?#?0xc???十進(jìn)制轉(zhuǎn)十六進(jìn)制
#?二進(jìn)制轉(zhuǎn)十進(jìn)制
print(int('0b1100',?2))
#?八進(jìn)制轉(zhuǎn)十進(jìn)制
print(int('0o14',?8))
#?十六進(jìn)制轉(zhuǎn)十進(jìn)制
print(int('0xc',?16))
最后還是希望你們能給我點(diǎn)一波小小的贊或者在看~
如有文章對(duì)你有幫助,
“在看”和轉(zhuǎn)發(fā)是對(duì)我最大的支持!
關(guān)注Python極客專欄
總結(jié)
以上是生活随笔為你收集整理的c++进制转换_一文了解进制之间的原理和转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 戴尔电脑怎么样重装系统win7系统 戴尔
- 下一篇: 怎么有些优盘电脑读不出来 “优盘为什么有