我們生活中使用的數(shù)字,比如10、12、15、121等。這些都是以十進(jìn)制表示,也就是逢十進(jìn)一:
以121為例,10^2*1 + 10^1*2 + 10^0*1 = 121(10^2表示10的二次方,同100)
計(jì)算過程,如圖1-1:

但作為IT人員,我們可能要熟悉多種進(jìn)制,例如二進(jìn)制、十六進(jìn)制。
二進(jìn)制
二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制,也是機(jī)器唯一能懂的語言,像我們目前主流使用的c++、php、java最終都要翻譯成二進(jìn)制,再讓機(jī)器識(shí)別。它們的長(zhǎng)相就像這樣“1111001”,我們都熟悉十進(jìn)制是逢十進(jìn)一,因此二進(jìn)制其實(shí)就是逢二進(jìn)一,例如:1001 + 0001 = 1010。
以二進(jìn)制1111001為例,還原成10進(jìn)制,2^6*1 + 2^5*1 + 2^4*1 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1 = 121
計(jì)算過程,如圖2-1:

我們都知道0乘任何數(shù)字都為0,所以我們計(jì)算時(shí)過濾0的位置,如圖2-2:

十進(jìn)制121也有快速算出二進(jìn)制的方式:
首先我們上坐標(biāo)軸,如圖2-3:

121可以拆成64+57,我們往64位置補(bǔ)1,如圖2-4:

我們接著拆57 = 32+25,我們往32的位置補(bǔ)1,如圖2-5:

我們快進(jìn),25=16+8+1,最終得出結(jié)果,如圖2-6:

十六進(jìn)制
十六進(jìn)制(簡(jiǎn)寫為hex或下標(biāo)16)在數(shù)學(xué)中是一種逢16進(jìn)1的進(jìn)位制。一般用數(shù)字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,這些稱作十六進(jìn)制數(shù)字,例如:1AH,H表示十六進(jìn)制單位。
首先呢,先要看看十六位數(shù)的表示方法,如圖3-1:

16=2^4,因此每個(gè)十六進(jìn)制位對(duì)應(yīng)4位二進(jìn)制,如圖3-2:

所以,十六進(jìn)制轉(zhuǎn)二進(jìn)制簡(jiǎn)直不要太簡(jiǎn)單,19AE = 0001 1001 1010 1110
同理,二進(jìn)制轉(zhuǎn)十六進(jìn)制,1010000101 = 10? 1000? 0101? = 285