標籤:

二進位數

二進位數  二進位是逢2進位的進位制,0、1是基本算符。   現代的電子計算機技術全部採用的是二進位,因為它只使用0、1兩個數字元號,非常簡單方便,易於用電子方式實現。計算機內部處理的信息,都是採用二進位數來表示的。二進位(Binary)數用0和1兩個數字及其組合來表示任何數。進位規則是「逢2進1」,數字1在不同的位上代表不同的值,按從右至左的次序,這個值以二倍遞增。   除了數值外,英文字母、符號、漢字、聲音、圖象等數據在計算機內部也採用二進位數的形式來編碼。目前最常用的是使用國際標準代碼ASCII碼(美國標準信息交換碼)。漢字在計算機內部也是以二進位數代碼形式表示的。由於漢字量多,1981年,我國國家標準GB2312--80(信息交換用漢字編碼字符集——基本集)為6763個常用漢字規定了代碼,每個漢字佔兩個位元組,每個位元組用八位二進位數來表示。1995年又頒布了《漢字編碼擴展規範》(GBK)。GBK與GB2312--80國家標準所對應的內容標準兼容,同時,在字彙一級支持ISO/IEC10646--1和GB13000--1的全部中、日、韓(CJK)漢字,共計20902字。把文字、圖形、圖象、聲音、動畫等信息,變成按一定規則編碼的二進位數,這就是信息的數字化。  [編輯]   二進位四則運算規則   加法 0+0=0,0+1=1+0=1,1+1=10   減法 0-0=0,1-0=1,1-1=0,0-1=-1 10100-1010=1010  乘法 0×0=0,0×1=1×0=0,1×1=1   除法 0÷1=0,1÷1=1  只有0和1兩個數碼,基數為二。   十進位數與二進位數轉換:  十進位數 二進位數  0 0  1 1  2 10  3 11  4 100  5 101  …… ……  1101101=(從右往左數)1+0×2+1×2?2+1×2?3+0×2?4+1×2?5+1×2?6  =1+4+8+32+64  =109  1個二進位位稱為bit,bit是表示數據的最小單位。  二進位編碼  在日常生活中,我們常常使用各種編碼,如省份證號碼、電話號碼、郵政編碼等,這些編碼都是由十進位數組成的。  同理,在計算機中採用由若干位二進位數組成的編碼【簡稱二進位編碼】來表示字母、符號、漢字、顏色等非數值信息。  為了表示不同類型的信息,人們研究出了各種各樣的編碼方案。其中,ASCII碼就是被普遍採用的一個字元信息編碼方案,它用8位二進位數表示各種字母和符號,例如:  01000001表示A 01000010表示B  00111111表示? … …  漢字字數較多,因此目前用16位二進位數表示常用的漢字,例如:  10100111 11000000 表示「青」  10010101 10011010 表示「島」  8個二進位位稱為一個位元組【Byte,簡稱為B】。位元組是最基本的信息儲存單位,一個位元組可以儲存一個英文字母或符號編碼,兩個位元組可以儲存一個漢字編碼。  同二進位數一樣,二進位編碼也是計算機內部用來表示信息的一種手段,人們平時和計算機打交道時,根本不用理它。我們仍然用人們習慣的方式輸入或者輸出信息,期間的轉換則由計算機自動去完成。  實例對照  十進位數→二進位數  16→10000  46→101110  99→1100011  888→1101111000  7654→1110111100110  10000→10011100010000  註:一般為了區別二進位數與十進位數,再二進位數後加上一個「B」,如145→10010001B  通常我們所說的數字,一般都是十進位,10分就1毛,10毛就1塊......這些數字只是由十個數組成,那就是:0.1.2.3.4.5.6.7.8.9[我們一般稱之為基數]  都是這些數,但它們處於不同位置所代表的重量就不一樣了哦,如111,都是1但就是不一樣,這就涉及到了位權的概念了,可用以下實例來說明。一個十進位數結4 5 5 3 .8 7可表示為:  4553.87=4×10(3)+5×10(2)+5×10(1)+3×10(0)+8×10(-1)×7×10(-2)  [聲明:(N)表示的是N次方]  在這個數中,有些相同的數字由於處在不同的位置,它們代表的數值的大小也不同,各位數字所代表的數值的大小是由位權來決定的。位權是一個乘方值,乘方的底數為進位計數制的基數(本例中為1 0 ),而指數由各位數字在數中的位置來決定。以上的十進位數中,從左至右各位數字的位權分別為:10(3)、10(2).10(1)、10(0)、10(-1)、10(-2)。一般而言,在進位制中,把一個數中各位數字為1時代表的數值大小稱為位權。如456它們的位權就是當各位為1時的數值大小,456中的4的位權就是10(2),5的位權就是10(1),6的位權就是10(0).  除了位權對於進位記數的另一個重要概念就是基數,基數很好理解,就是進位計數制中所使用的不同基本符號的個數稱為該計數制的基數,比如十進位就是1.2.3.4.5.6.7.8.9.0這十個數,相對而言二進位就兩個基數:0和1,八進位就是:0.1.2.3.4.5.6.7.8,十六進位就是:0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F  由上面兩個概念可以得出以下公式:[以下將詳細說名]  N進位的基數就能表示為:0.1.2......N-2.N-1  N進位的權一般可以表示:N(X)[X是X乘方,X就是某數在它的數列中所處位置]  N進位展開成十進位公試:如abcdefg.hijk=a*N(6)+b*N(5)+c*N(4)+d*(3)+e*(2)+f*N(1)+g*N(0)+h*N(-1)+i*N(-2)+j*N(-3)+k*N(-4)  十進位:有10個基數:0 ~~ 9 ,逢十進一  二進位:有2 個基數:0 ~~ 1 ,逢二進一  八進位:有8個基數:0 ~~ 7 ,逢八進一  十六進位:有16個基數:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六進一  由於大家從小娃仔開始就學習十進位,生活中用途更是廣泛,一種單一的數字思維模式使我們很多人以為就只有這麼一種進位數.在以下給大家說說計算機中用得最多的進位數,讓大家開闊思維,不要停留於一成不變的思維模式中.  計算機中用得最多也是CPU唯一能認出的數制,那就是二進位.計算機是處理信息的機器,信息處理的前提是信息的表示。計算機內信息的表示形式是二進位數字編碼。也就是說,各種類型的信息(數值、文字、聲音、圖像)必須轉換成數字量即二進位數字編碼的形式,才能在計算機中進行處理。那怕你移動一下滑鼠,按一下鍵盤,你的每一個動作最後到了CPU那也就只剩0和1了,有時覺得設計計算機的人也太厲害了,就兩個數字就能弄出這麼完美的東西來,這就是智慧的結晶,其實說到底了CPU也就幾百條指令而已,在軟體和系統的層層迭加下讓我們根本就不了解計算機內部是什麼樣?其實沒就是0和1兩個狀態而已啦.  為什麼計算機會採用二進位呢?這是有原因的,也是計算機設計人員考慮到的一個重要因素.計算機內採用二進位的主要原因是:  1. 容易表示  二進位數只有「0」和「1」兩個基本符號,易於用兩種對立的物理狀態表示。例如,可用電燈開關的「閉合」狀態表示「1」,用「斷開」狀態表示「0」;晶體管的導通表示「1」, 截止表示「0」;電容器的充電和放電、電脈衝的有和無、脈衝極性的正與負、電位的高與低等一切有兩種對立穩定狀態的器件都可以表示二進位的「0」和「1」。而十進位數有1 0個基本符號( 0,1,2,..,9 ),要用1 0種狀態才能表示,要用電子器件實現起來是很困難的。  2. 運算簡單  二進位數的算術運算特別簡單,加法和乘法僅各有3條運算規則( 0+0=0,0+1=1,1+1=1 0和0×0=0,0×1=0,1×1=1 ),運算時不易出錯。[其實計算機處理算術運算時都是加法和移位,並沒有乘除法,如11B左移一位就成了110B,11B是十進位的3,而110B是6,看看是不是等於乘二,左移乘,右移就除,哈哈,好玩吧]此外,二進位數的「1」和「0」正好可與邏輯值「真」和「假」相對應,這樣就為計算機進行邏輯運算提供了方便。算術運算和邏輯運算是計算機的基本運算,採用二進位可以簡單方便地進行這兩類運算。  二.進位的轉換  雖然二進位有不少優點,但畢竟我們日常生活中用的都是十進位,為了能通用,就有必要把它轉換為十進位.至於為什麼用八進位和十六進位呢?很簡單,就是因為它是2的乘方,2(3)=8,2(4)=16,這樣一來就便於二進位的計算和閱讀.  對於其它進位轉換為十進位比較簡單,下面舉例說明:在此說明一下,一般常用進位有簡寫,這樣是為了不混淆,如十進位一般在末尾加個字母D[一般習慣都不加],二進位加個B,八進位Q,十六進位H.  例如:123D、1011B、123Q、AB9H  123D=1×100+2×10+3×1=123 0.11D=1*10(-1)+1*10(-2)  1011B=(1×8+0×4+1×2+1×1)D=11 0.11B=1*2(-1)+1*(-2)   123Q=(1×64+2×8+3×1)D=83 0.11Q=1*8(-1)+1*8(-2)  AB9H=(10×256+11×16+9×1)D=2745 0.11H=1*16(-1)+1*16(-2)  而十進位轉換為其它進位就比較難辦了哦,但方法是有的,而且不少方法,在此介紹一種比較常用的,便於大家掌握.  先講十進位轉換為二進位-----  只能舉例了,文字說不清的,通常將一個十進位數的整數部分和小數部分分開處理。  1、整數的數制轉換;  ——採用「基數除法」,具體步驟如下:  (1)將給定的十進位整數除以基數2,餘數便是等值的二進位的最低位。  (2)將上一步的商再除以基數2,餘數便是等值的二進位數的次低位。  (3)重複步驟2,直到最後所得的商等於0為止。各次除得的餘數,便是二進位各位的數,最後一次的餘數是最高位  三、二進位與八進位十六進位轉換的簡便方法  二進位從最低位開始每三位轉換為十進位即為其對應八進位  高位不足三位,補零  同理二進位從最低位開始每四位轉換為十進位即為其對應十六進位  高位不足四位,補零  如(1001100)2=(114)8=(4C)16
推薦閱讀:

邵雍的「加一倍法」就是嚴格意義的「二進位」
堆溢出-House of orange 學習筆記
周易與二進位
CPU只會加法和邏輯運算~

TAG:二進位 | 進位 |