什(shen)么是二進制,這里讓你(ni)通(tong)俗易(yi)懂
時間:2018-06-14 來源:未知
關(guan)于計(ji)算機(ji)的二(er)進制,首先來想(xiang)(xiang)想(xiang)(xiang)我們日常使用的十進制。
那么(me)為(wei)什么(me)我們日常要(yao)使(shi)用十進制呢?其實看看你的(de)雙手(shou),一共有幾根(gen)手(shou)指?是(shi)不是(shi)一共十根(gen)?那么(me)10 代表的(de)就是(shi)一雙手(shou)的(de)手(shou)指的(de)數量(liang)。例如1234,他(ta)所(suo)代表的(de)示意是(shi):
1 * 1000 + 2 * 100 + 3 *10 + 4 *1 。
換(huan)一個形式就是1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 。
但是到了(le)計(ji)算(suan)機(ji)里(li)這種數(shu)值表述(shu)方式就(jiu)麻煩(fan)了(le),如果我(wo)們要在(zai)計(ji)算(suan)機(ji)保存十進制(zhi)數(shu)值那么(me),計(ji)算(suan)機(ji)得有能力用某(mou)種形(xing)式描述(shu)出至少10種狀態才行(xing)也(ye)就(jiu)是0到9。
那么(me)想(xiang)象一下要(yao)是我們每只(zhi)手(shou)(shou)只(zhi)有3個(ge)手(shou)(shou)指,那么(me)如果(guo)10 依舊代表一雙手(shou)(shou)(六根手(shou)(shou)指),此時(shi)12相當于(yu)一雙手(shou)(shou)加兩個(ge)手(shou)(shou)指 也就是“八”。這(zhe)種(zhong)計(ji)數方式(shi)我們可以稱為6進(jin)制。那么(me)234這(zhe)個(ge)數值(zhi)在(zai)六進(jin)制里代表什(shen)么(me)呢(ni)?2 *6^2 + 3*6^1 + 4*6^0
遺憾的是(shi)計(ji)算機沒有手(shou)指。那(nei)它(ta)如何描述不(bu)同的數值呢(ni)(ni)?使(shi)(shi)用高低電(dian)(dian)平(ping)(也就是(shi)較高電(dian)(dian)壓和較低電(dian)(dian)壓),舉(ju)個例子,假如你(ni)有一個電(dian)(dian)子游戲機,它(ta)使(shi)(shi)用的是(shi)三(san)節(jie)5號電(dian)(dian)池,電(dian)(dian)壓就是(shi)4.5V,那(nei)么它(ta)會用大于2.5v的電(dian)(dian)壓代(dai)表高電(dian)(dian)平(ping)小于1v的電(dian)(dian)壓代(dai)表低電(dian)(dian)平(ping),這樣就可以(yi)區分出兩種(zhong)不(bu)同的狀態。為(wei)什么這么干呢(ni)(ni)?因為(wei)使(shi)(shi)用這種(zhong)表述方式的電(dian)(dian)路設計(ji)相(xiang)對簡單。
這就好像計(ji)算機一共只有兩根不同的手指。那么(me)怎么(me)描述數值呢(ni)?使用(yong)“二進制”方式。
在十(shi)進(jin)制里(li),我(wo)們的(de)每(mei)一位數值需要(yao)10種狀(zhuang)態 0 1 2 3 4 5 6 7 8 9 ; 那么(me)二(er)進(jin)制里(li)只(zhi)需要(yao) 0 和1 就(jiu)夠了,并用高電平對應(ying)1,低電平對應(ying)0。這個(ge)時候(hou) 10 依舊代表計算機的(de)全(quan)部(bu)“手(shou)指”,也就(jiu)是(shi) “二(er)”。110呢?自然就(jiu)是(shi) 1 * 2^2 + 1 * 2^1 + 0 * 2^0 也就(jiu)是(shi) 1*4 + 1*2 + 0這不就(jiu)是(shi)相當于十(shi)進(jin)制里(li)的(de)6嘛(ma)!那么(me)1010呢 1*2^3 + 0 * 2^2 + 1 *2^1 + 0 *2^0 這是(shi)不是(shi)就(jiu)是(shi)十(shi)進(jin)制數值里(li)的(de) “十(shi)” ?
但(dan)是(shi)(shi)新(xin)的困惑又來了。如果我們(men)寫一(yi)個(ge) 數(shu)字 10 在(zai)我們(men)不知道它(ta)的進制的前提(ti)下,你能(neng)(neng)確(que)定它(ta)到底(di)代表的是(shi)(shi)幾個(ge)手指(zhi)嗎?可(ke)能(neng)(neng)是(shi)(shi) 二 可(ke)能(neng)(neng)是(shi)(shi) 六(liu) 也可(ke)能(neng)(neng)是(shi)(shi) 十。所以(yi)為了在(zai)書寫是(shi)(shi)方便區(qu)分一(yi)般我們(men)要在(zai)二級制數(shu)值前面(mian)加一(yi)個(ge)標(biao)記“0B”,也就是(shi)(shi) 0B10 或者(zhe)換一(yi)個(ge)數(shu)字 0b10101010。
最后(hou)我們來試著計算一下 0b1111 是我們人(ren)類自然數(shu)值中的幾?8 + 4 +2 +1 = 15
0b1011呢? 8 + 0 + 2 + 1 = 11
0b1100 8 + 4 + 0 +0 = 12
那么(me) 十進制(zhi)的 9 呢?變成二級(ji)制(zhi)就是 0b1001
123 就(jiu)是 0b01111011
這(zhe)樣我們就可以讓計算機用二(er)級制保存(cun)保存(cun)我們人類的自然數啦。

