什么是進(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)位。 1、常用進(jìn)制以及應(yīng)用場(chǎng)景1.1、二進(jìn)制(Binary,簡(jiǎn)寫為B)二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制。二進(jìn)制數(shù)據(jù)是用0和1兩個(gè)數(shù)碼來表示的數(shù)。當(dāng)前的計(jì)算機(jī)系統(tǒng)使用的基本上是二進(jìn)制系統(tǒng),數(shù)據(jù)在計(jì)算機(jī)中主要是以補(bǔ)碼的形式存儲(chǔ)的。計(jì)算機(jī)中的二進(jìn)制則是一個(gè)非常微小的開關(guān),用“開”來表示1,“關(guān)”來表示0。如果對(duì)計(jì)算機(jī)原碼、補(bǔ)碼、反碼以及運(yùn)算不明白的請(qǐng)參考我的上篇博客 1.2、八進(jìn)制(Octal,簡(jiǎn)寫為O)關(guān)于八進(jìn)制的應(yīng)用場(chǎng)景,我能想到的就是Linux的權(quán)限了。比如:某一個(gè)文件類型與權(quán)限表示為:-rwxr-xr–第一個(gè)字符代表文件(-)、目錄(d),鏈接(l)其余字符每3個(gè)一組(rwx),讀r(4)、寫w(2)、執(zhí)行x(1)第一組為文件所有者權(quán)限:如上rwx:文件所有者的權(quán)限是讀、寫和執(zhí)行第二組為與文件所有者同一組的用戶的權(quán)限:如上r-x:有可讀和執(zhí)行的權(quán)限但是沒有寫權(quán)限第三組為不與文件所有者同組的其他用戶的權(quán)限:如上r–:只有可讀權(quán)限了另外補(bǔ)充一下我們經(jīng)常用的改變權(quán)限的命令:chgrp:改變文件所屬用戶組 chown:改變文件所有者 chmod:改變文件的權(quán)限。呀!?。?!跑偏了!??!回到重點(diǎn)?。。。。?! 1.3、十進(jìn)制(Decimal,簡(jiǎn)寫為D)這個(gè)不用多說,便于我們使用! 1.4、十六進(jìn)制(Hexadecimal,簡(jiǎn)寫為H)我們編程中內(nèi)存地址空間是用十六進(jìn)制表示的由于二進(jìn)制數(shù)在使用中位數(shù)太長,不容易記憶,所以提出了十六進(jìn)制數(shù)它由十六個(gè)字符0~9以及A,B,C,D,E,F(xiàn)組成 2、進(jìn)制轉(zhuǎn)換2.1、十進(jìn)制轉(zhuǎn)換二進(jìn)制–>十進(jìn)制方法:二進(jìn)制數(shù)從低位到高位(即從右往左)計(jì)算,第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方,第2位的權(quán)值是2的2次方,依次遞增下去,把最后的結(jié)果相加的值就是十進(jìn)制的值了。1010(B)1×2^3+0×2^2+1×2^1+0×2^0=10 八進(jìn)制–>十進(jìn)制方法:八進(jìn)制數(shù)從低位到高位(即從右往左)計(jì)算,第0位的權(quán)值是8的0次方,第1位的權(quán)值是8的1次方,第2位的權(quán)值是8的2次方,依次遞增下去,把最后的結(jié)果相加的值就是十進(jìn)制的值了。1010(O)1×8^3+0×8^2+1×8^1+0×8^0=520 十六進(jìn)制–>十進(jìn)制方法:十六進(jìn)制數(shù)從低位到高位(即從右往左)計(jì)算,第0位的權(quán)值是16的0次方,第1位的權(quán)值是16的1次方,第2位的權(quán)值是16的2次方,依次遞增下去,把最后的結(jié)果相加的值就是十進(jìn)制的值了。1010(H)1×16^3+0×16^2+1×16^1+0×16^0=4112 2.2、二進(jìn)制轉(zhuǎn)換八進(jìn)制–>二進(jìn)制方法:取一分三法,即將一位八進(jìn)制數(shù)分解成三位二進(jìn)制數(shù),用三位二進(jìn)制按權(quán)相加去湊這位八進(jìn)制數(shù),小數(shù)點(diǎn)位置照舊。 106(O) 1拆成001 0拆成000 6拆成110 轉(zhuǎn)換后的二進(jìn)制為:001 000 110 十進(jìn)制–>二進(jìn)制方法:除2取余法,即每次將整數(shù)部分除以2,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以2,余數(shù)又為上一個(gè)位權(quán)上的數(shù),這個(gè)步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時(shí)候,從最后一個(gè)余數(shù)讀起,一直到最前面的一個(gè)余數(shù)。 106(D) 1、106 ÷ 2 = 53 ……0 2、53 ÷ 2 = 26 ……1 3、26 ÷ 2 = 13 …….0 4、13 ÷ 2 = 6 ……1 5、6 ÷ 2 = 3 ……..0 6、3 ÷ 2 = 1 ……..1 7、1÷ 2 = 0 ……….1 所以轉(zhuǎn)換后的二進(jìn)制數(shù)為:1101010 十六進(jìn)制–>二進(jìn)制 方法:取一分四法,即將一位十六進(jìn)制數(shù)分解成四位二進(jìn)制數(shù),用四位二進(jìn)制按權(quán)相加去湊這位十六進(jìn)制數(shù),小數(shù)點(diǎn)位置照舊。 106(H) 1拆成0001 0拆成0000 6拆成0110 轉(zhuǎn)化成二進(jìn)制為:0001 0000 0110 2.3、八進(jìn)制轉(zhuǎn)換二進(jìn)制–>八進(jìn)制方法:取三合一法,即從二進(jìn)制的小數(shù)點(diǎn)為分界點(diǎn),向左(向右)每三位取成一位,接著將這三位二進(jìn)制按權(quán)相加,然后,按順序進(jìn)行排列,小數(shù)點(diǎn)的位置不變,得到的數(shù)字就是我們所求的八進(jìn)制數(shù)。如果向左(向右)取三位后,取到最高(最低)位時(shí)候,如果無法湊足三位,可以在小數(shù)點(diǎn)最左邊(最右邊),即整數(shù)的最高位(最低位)添0,湊足三位。 11010111.0100111(B) 1、小數(shù)點(diǎn)前111 = 7; 2、010 = 2; 3、11補(bǔ)全為011,011 = 3; 4、小數(shù)點(diǎn)后010 = 2; 5、011 = 3; 6、1補(bǔ)全為100,100 = 4; 7、讀數(shù),讀數(shù)從高位到低位,即(11010111.0100111)B=(327.234)O。 十進(jìn)制–>八進(jìn)制 方法1:除8取余法,即每次將整數(shù)部分除以8,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以8,余數(shù)又為上一個(gè)位權(quán)上的數(shù),這個(gè)步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時(shí)候,從最后一個(gè)余數(shù)起,一直到最前面的一個(gè)余數(shù)。 106(D) 1、106 ÷ 8 = 13 ……2 2、13 ÷ 8 = 1 ……5 3、1 ÷ 8 = 0 ……1 即轉(zhuǎn)化為八進(jìn)制為:152(O) 方法2:使用間接法,先將十進(jìn)制轉(zhuǎn)換成二進(jìn)制,然后將二進(jìn)制又轉(zhuǎn)換成八進(jìn)制; 十六進(jìn)制–>八進(jìn)制方法:將十六進(jìn)制轉(zhuǎn)換為二進(jìn)制,然后再將二進(jìn)制轉(zhuǎn)換為八進(jìn)制,小數(shù)點(diǎn)位置不變。106(H)先轉(zhuǎn)換為二進(jìn)制:上面已經(jīng)講過,結(jié)果為:轉(zhuǎn)化成二進(jìn)制為:0001 0000 0110二進(jìn)制轉(zhuǎn)化為八進(jìn)制:上面已經(jīng)講過,結(jié)果為:轉(zhuǎn)化為八進(jìn)制為:406(O) 2.4十六進(jìn)制二進(jìn)制–>十六進(jìn)制方法:取四合一法,即從二進(jìn)制的小數(shù)點(diǎn)為分界點(diǎn),向左(向右)每四位取成一位,接著將這四位二進(jìn)制按權(quán)相加,然后,按順序進(jìn)行排列,小數(shù)點(diǎn)的位置不變,得到的數(shù)字就是我們所求的十六進(jìn)制數(shù)。如果向左(向右)取四位后,取到最高(最低)位時(shí)候,如果無法湊足四位,可以在小數(shù)點(diǎn)最左邊(最右邊),即整數(shù)的最高位(最低位)添0,湊足四位。 11010111(B) 1、0111 = 7 2、1101 = D 所以轉(zhuǎn)換結(jié)果為:D7 八進(jìn)制–>十六進(jìn)制方法:將八進(jìn)制轉(zhuǎn)換為二進(jìn)制,然后再將二進(jìn)制轉(zhuǎn)換為十六進(jìn)制,小數(shù)點(diǎn)位置不變。 106(O) 1、八進(jìn)制–>二進(jìn)制上面已經(jīng)講過,所以結(jié)果為:001 000 110 2、二進(jìn)制–>十六進(jìn)制0110 = 61000 = 8 所以結(jié)果為86(H) 十進(jìn)制–>十六進(jìn)制方法1:除16取余法,即每次將整數(shù)部分除以16,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以16,余數(shù)又為上一個(gè)位權(quán)上的數(shù),這個(gè)步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時(shí)候,從最后一個(gè)余數(shù)起,一直到最前面的一個(gè)余數(shù)。 106(D) 1、106 ÷ 16 = 6 ……10(A) 2、6 ÷ 16 = 0 …….6 所以轉(zhuǎn)換結(jié)果為6A(H) 方法2:使用間接法,先將十進(jìn)制轉(zhuǎn)換成二進(jìn)制,然后將二進(jìn)制又轉(zhuǎn)換成十六進(jìn)制;上面已經(jīng)講過,這里不再說了! 3、定義表
4、X進(jìn)制與十進(jìn)制的轉(zhuǎn)換X進(jìn)制轉(zhuǎn)十進(jìn)制:X進(jìn)制數(shù)從低位到高位(即從右往左)計(jì)算,第0位的權(quán)值是X的0次方,第1位的權(quán)值是X的1次方,第2位的權(quán)值是X的2次方,依次遞增下去,把最后的結(jié)果相加的值就是十進(jìn)制的值了。 十進(jìn)制轉(zhuǎn)X進(jìn)制:除X取余法,即每次將整數(shù)部分除以X,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以X,余數(shù)又為上一個(gè)位權(quán)上的數(shù),這個(gè)步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時(shí)候,從最后一個(gè)余數(shù)起,一直到最前面的一個(gè)余數(shù)。 |
|