1、什么是進(jìn)制
進(jìn)制也就是進(jìn)位制稿饰,是人們規(guī)定的一種進(jìn)位方法锦秒。 對(duì)于任何一種進(jìn)制---X進(jìn)制,就表示某一位置上的數(shù)運(yùn)算時(shí)是逢X進(jìn)一位喉镰。 十進(jìn)制是逢十進(jìn)一旅择,十六進(jìn)制是逢十六進(jìn)一,二進(jìn)制就是逢二進(jìn)一侣姆,以此類推生真,x進(jìn)制就是逢x進(jìn)位沉噩。
- 常見的進(jìn)制有
- 二進(jìn)制
- 八進(jìn)制
- 十進(jìn)制
- 十六進(jìn)制
接下來我將一一的對(duì)這些常用的進(jìn)制進(jìn)行講解,以及它們之間的轉(zhuǎn)換柱蟀。
2川蒙、二進(jìn)制
1、什么是二進(jìn)制长已?
二進(jìn)制就是只有0和1兩種表達(dá)形式的計(jì)數(shù)畜眨,簡稱二進(jìn)制,我們的計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的時(shí)候都是采用二進(jìn)制進(jìn)行存儲(chǔ)术瓮。表達(dá)一個(gè)二進(jìn)制數(shù)康聂,每一位最大值不能超過1,
2斤斧、二進(jìn)制的寫法
例如 : 01011001
10100110
01101010
10101100
二進(jìn)制的后綴:b 例如:10011001b,這里需要注意一下早抠,就是在程序編程的時(shí)候,要想表達(dá)一個(gè)二進(jìn)制數(shù)撬讽,那么需要給它加一個(gè)前綴:0b,如:0b00000001蕊连。
3、八進(jìn)制
1游昼、什么是八進(jìn)制甘苍?
概念在這里我就不多說了,那么八進(jìn)制它的表達(dá)形式取值只能從0~7取烘豌,也就是說载庭,表達(dá)一個(gè)八進(jìn)制數(shù),每一位最大值不能超過7廊佩。
2囚聚、八進(jìn)制的寫法
例如: 057
010
076
025
八進(jìn)制的前綴:0 如上所示
表達(dá)一個(gè)二進(jìn)制和八進(jìn)制的示例代碼:
main(int argc, const char * argv[]) {
int a = 0b00000001;//這就是在程序編程時(shí)需要表達(dá)的一個(gè)二進(jìn)制數(shù)
int b = 057;//表達(dá)一個(gè)8進(jìn)制數(shù)
printf("%d\n%d\n",a,b);
return 0;
}
4、十進(jìn)制
1标锄、什么是十進(jìn)制顽铸?
十進(jìn)制是我們最常見的一種計(jì)數(shù)方式,那么十進(jìn)制每一位的表達(dá)形式只能從0~9取料皇,每一位最大值不能超過9
2谓松、十進(jìn)制的寫法
例如:18
20
98
6785
注意;十進(jìn)制數(shù)的寫法就喝我們平時(shí)數(shù)學(xué)上的數(shù)字表達(dá)是一樣的践剂,在這里就不做過多的強(qiáng)調(diào)鬼譬。
5、二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換
二進(jìn)制轉(zhuǎn)十進(jìn)制
對(duì)于二進(jìn)制轉(zhuǎn)十進(jìn)制的規(guī)則是逊脯,以2為底优质,從低位向高位對(duì)每一位進(jìn)行2冪次方,然后把每一位2的冪次方進(jìn)行與本身相對(duì)應(yīng)的位的一個(gè)乘積在相加军洼。具體實(shí)現(xiàn)如下:
例如: 0 1 0 1 1 0 1 1 (八位的一個(gè)二進(jìn)制數(shù))
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
轉(zhuǎn)化為十進(jìn)制:直接把上面的以2為底的冪進(jìn)行每一位相乘求和
0*2^7+1*2^6+0*2^5+1*2^4+1*2^3+0*2^2+1*2^1+1*2^0 = 91
當(dāng)然盆赤,二進(jìn)制轉(zhuǎn)十進(jìn)制很簡單贾富,這里就不做過多的例子介紹。
十進(jìn)制轉(zhuǎn)二進(jìn)制
十進(jìn)制轉(zhuǎn)二進(jìn)制就是對(duì)十進(jìn)制數(shù)的一個(gè)以2為除數(shù)的求余過程牺六,具體計(jì)算過程如下:
例如: 請(qǐng)把57轉(zhuǎn)化成二進(jìn)制數(shù)
57 / 2 = 28 ...... 1
28 / 2 = 14 ......0
14 / 2 = 7 ......0
7 / 2 = 3 ...... 1
3 / 2 = 1 ...... 1
1 / 2 = 0 ...... 1
注意:在寫二進(jìn)制結(jié)果的時(shí)候颤枪,順序是倒著寫噢。
那么:轉(zhuǎn)換結(jié)果為 00111001淑际。
6畏纲、二進(jìn)制和八進(jìn)制之間的轉(zhuǎn)換
二進(jìn)制轉(zhuǎn)八進(jìn)制
對(duì)于二進(jìn)制轉(zhuǎn)八進(jìn)制,有一句口訣:三位二進(jìn)制數(shù)對(duì)應(yīng)一位八進(jìn)制數(shù)
例如:二進(jìn)制 (補(bǔ)一個(gè)0)--> 010 001 101 (八位二進(jìn)制數(shù))
八進(jìn)制 2 1 5
這里需要補(bǔ)充一點(diǎn)就是春缕,任何進(jìn)制計(jì)數(shù)盗胀,高位都是在左邊,右邊為低位锄贼,在高位前補(bǔ)零票灰,那么對(duì)于整個(gè)數(shù)值來說是沒有變化的,但是宅荤,千萬不能在低位后面補(bǔ)零屑迂。在進(jìn)行二進(jìn)制轉(zhuǎn)八進(jìn)制時(shí),必須從右往左進(jìn)行3位二進(jìn)制為一個(gè)斷點(diǎn)冯键。在高位時(shí)惹盼,如果不足3位,那么我們需要在最高位的前面補(bǔ)零惫确。
八進(jìn)制轉(zhuǎn)二進(jìn)制
對(duì)于八進(jìn)制轉(zhuǎn)二進(jìn)制手报,有一句口訣:一位八進(jìn)制數(shù)對(duì)于3位二進(jìn)制,
例子和上面的這個(gè)例子相反:
八進(jìn)制 0215
二進(jìn)制 000 010 001 101
那么在寫結(jié)果的時(shí)候改化,一般寫成: 10001101.
7掩蛤、八進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換
八進(jìn)制轉(zhuǎn)十進(jìn)制
八進(jìn)制轉(zhuǎn)十進(jìn)制其實(shí)是和二進(jìn)制轉(zhuǎn)十進(jìn)制的計(jì)算方式一樣,不同的就是陈肛,八進(jìn)制是以8為底盏档,而二進(jìn)制是以2為底,那么燥爷,后面說到十六進(jìn)制的時(shí)候,也是一樣的道理懦窘,十六進(jìn)制轉(zhuǎn)十進(jìn)制是以16為底前翎,其他的都和二進(jìn)制一樣。所以這里我就不在舉例了畅涂。
十進(jìn)制轉(zhuǎn)八進(jìn)制
對(duì)于十進(jìn)制轉(zhuǎn)八進(jìn)制和二進(jìn)制也是差不多的港华,只是除數(shù)變?yōu)?進(jìn)行求余。這里也不多說了午衰,因?yàn)槲覀冊(cè)趯W(xué)習(xí)的過程中要學(xué)會(huì)舉一反三立宜。
8冒萄、十六進(jìn)制
1、什么是十六進(jìn)制橙数?
十六進(jìn)制是我們程序或者內(nèi)存地址的一個(gè)常用的一種表達(dá)尊流,每一位的取值范圍為0~9和A~F,那么在這里灯帮,A對(duì)于的就是10崖技,B對(duì)應(yīng)的就是11,以此類推钟哥,F(xiàn)就是15迎献,所以,十六進(jìn)制是逢16進(jìn)1.十六進(jìn)制的寫法: 0xcf 其中0x表示的是十六進(jìn)制的前綴腻贰,聲明這個(gè)數(shù)是十六進(jìn)制數(shù)吁恍,后面的cf就是數(shù)值,當(dāng)然這里字符的大小寫并沒有影響播演。
例如:0xfc 0x1f 0xffdd
9冀瓦、二進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換
1、二進(jìn)制轉(zhuǎn)十六進(jìn)制
二進(jìn)制轉(zhuǎn)十六進(jìn)制宾巍,有一句口訣:四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制數(shù)
8421(碼)
例如 二進(jìn)制 0110 1010
十六進(jìn)制 5 A 結(jié)果:0x5A.
這里提到8421碼咕幻,簡單解釋一下,8421碼是為了程序員方便快捷的對(duì)進(jìn)制之間的轉(zhuǎn)換而構(gòu)造的顶霞,他們都是2^0 ~ 2^3 的一個(gè)值肄程,
2、十六進(jìn)制轉(zhuǎn)二進(jìn)制
十六進(jìn)制轉(zhuǎn)二進(jìn)制选浑,有一句口訣:一位十六進(jìn)制數(shù)對(duì)應(yīng)4位二進(jìn)制數(shù)
轉(zhuǎn)發(fā)和八進(jìn)制轉(zhuǎn)二進(jìn)制是差不多的蓝厌,這里就不舉例了。
總結(jié):
進(jìn)制與進(jìn)制之間的轉(zhuǎn)換是有一定的規(guī)律的古徒,都是相互類似的拓提,記住不同點(diǎn)。要學(xué)會(huì)舉一反三隧膘。這里沒有提8進(jìn)制和16進(jìn)制代态,其實(shí),學(xué)者應(yīng)該已經(jīng)想到了疹吃,我們是可以通過二進(jìn)制作為中間的橋梁來進(jìn)行轉(zhuǎn)換的蹦疑,那么這個(gè)過程就由讀者自行去嘗試和練習(xí)。
結(jié)尾
最后萨驶,希望讀者在讀文章的時(shí)候發(fā)現(xiàn)有錯(cuò)誤或者不好的地方歉摧,歡迎留言,我會(huì)及時(shí)更改,感謝你的閱讀和評(píng)論已經(jīng)點(diǎn)贊收藏叁温。