sjm213
有小知識,無大學問。
級別: 論壇版主
|
一、數制與碼制 1- 基本概念 不同的數碼可以用來表示數量的不同大小。用數碼表示數量大小時,僅用一位數碼往往不夠用,因此經常需要用進位計數制的方法組成多位數碼使用。 把多位數碼中每一位的構成方法以及從低位到高位的進位規則稱為數制。在數字電路中經常使用的計數進制有十進制、二進制和十六進制。有時也用到八進制。 不同的數碼不僅可以用來表示數量的不同大小,而且可以用來表示不同的事物或事物的不同狀態。在用于表示不同事物的情況下,這些數碼已經不再具有表示數量大小的含義了,它們只是不同事物的代號而已。這些數碼稱為代碼。 為了便于記憶和查找,在編制代碼時總要遵循一定的規則,這些規則就稱為碼制。 2- 幾種常用的數制 4. 十六進制數(Hexadecimal) 十六進制數的進位規則是“逢十六進一” ,其進位基數R=16,采用的16個數碼為0、 1、 2、…、 9、A、 B、 C、 D、 E、 F。 符號A~F分別代表十進制數的10~15。每位的權是16的冪。 任何一個十六進制數, 可以表示為: 5. 不同進制數的對照表 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
3- 不同數制之間的轉換 1. 其它進制轉換為十進制 方法是:將其它進制按權位展開,然后各項相加,就得到相應的十進制數。 例1: N=(10110.101)B=(?)D 按權展開N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3 =16+4+2+0.5+0.125 =(22.625)D 例2: N=(532.8)H=(?)D 按權展開N=5*162+3*161+2*160+8*16-1 =1280+48+2+0.5 =(1330.5)D 2. 將十進制轉換成其它進制 方法是:將十進制數分整數部分和小數部分分別計算。 整數部分:(基數除法) 把我們要轉換的數除以新的進制的基數,把余數作為新進制的最低位; 把上一次得的商在除以新的進制基數,把余數作為新進制的次低位; 繼續上一步,直到最后的商為零,這時的余數就是新進制的最高位。 注意:小數部分取整的過程,不一定能使最后乘積為0,因此轉換值存在誤差。通常在二進制小數的精度已達到預定的要求時,運算便可結束。 3. 二進制與八進制、十六進制之間的轉換 八進制數和十六進制數的基數分別為8=23,16=24, 所以三位二進制數恰好相當一位八進制數,四位二進制數相當一位十六進制數,它們之間的相互轉換是很方便的。 二進制數轉換成八進制數的方法是從小數點開始,分別向左、向右,將二進制數按每三位一組分組(不足三位的補0),然后寫出每一組等值的八進制數。 二進制數轉換成十六進制數的方法和二進制數與八進制數的轉換相似,從小數點開始分別向左、向右將二進制數按每四位一組分組(不足四位補0),然后寫出每一組等值的十六進制數。 例: |
---|---|
本帖最近評分記錄: |
sjm213
有小知識,無大學問。
級別: 論壇版主
|
4- 二進制算術運算 當兩個數碼分別表示兩個數量大小時,它們可以進行數量間的加、減、乘、除等運算。這種運算稱為算術運算。 因電腦和數字設備普遍采用二進制運算,本節只探討二進制的算術運算。 1. 二進制算術運算的特點 二進制算術運算和十進制算術運算規則基本相同,區別是“逢二進一”。 由上圖可見二進制的乘法和除法有以下特點: 二進制的乘法運算可以通過若干次的“被乘數(或0)左移1位”和“被乘數(或0)與部分積相加”這兩種操作完成; 二進制數的除法運算能通過若干次的“除數右移1位”和“從被除數或余數中減去除數”這兩種操作完成。 如果我們能設法將減法操作轉化為某種形式的加法操作,那么加、減、乘、除運算就全部可以用"移位"和"相加"兩種操作實現了。為了解決這個問題,計算機引入了原碼、反碼和補碼的概念。 2. 原碼、反碼、補碼和補碼運算 二進制數的正、負表示方法通常采用的是在二進制數的前面增加一位符號位。這種形式的數稱為原碼。符號位為0表示這個數是正數,符號位為1表示這個數是負數。其余各位表示數值。 在做減法運算時,如果兩個數是用原碼表示的,則首先需要比較兩數絕對值的大小,然后以絕對值大的一個作為被減數、絕對值小的一個作為減數,求出差值,并以絕對值大的一個數的符號作為差值的符號。 這個操作過程比較麻煩,而且需要使用數值比較電路和減法運算電路。如果用兩數的補碼相加代替上述減法運算,則計算過程中就無需使用數值比較電路和減法運算電路了,從而使減法運算器的電路結構大為簡化。 補碼的原理可參考其他電子書籍,正負數的反碼和補碼的計算原則如下: 反碼:正數的反碼等于原碼,負數的反碼:符號位不變,以下各位按位取反。 補碼:正數的補碼等于原碼,負數的補碼:符號位不變,以下各位按位取反,最后加1。一個數補碼的補碼即為其原碼。 例:帶符號位二進制數00011010(+26)、10011010(-26)、00101101(+45)、和10101101(-45)的反碼和補碼。 在計算機系統中,數值一律用補碼來表示(存儲)。 補碼的優點主要有: 使符號位能與數值位部分一起參加運算,從而簡化運算規則; 使減法運算轉換為加法運算,從而簡化計算機中運算電路的設計; 兩個用補碼表示的數相加時,如果最高位(符號位)有進位,則進位被舍棄; 補碼轉換為對應的十進制數時正負數規則一樣 ; 0的補碼是唯一的。如0的5位補碼是00000。 |
---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
5- 幾種常見的編碼 1. 十進制編碼 用四位二進制碼的10 種組合表示十進制數0~9,簡稱BCD碼(Binary Coded Decimal)。 這種編碼至少需要用四位二進制碼元,而四位二進制碼元可以有 16 種組合。當用這些組合表示十進制數0~9時, 有六種組合不用。由 16 種組合中選用 10 種組合。 8421BCD碼是最基本和最常用的BCD碼, 它和四位自然二進制碼相似, 各位的權值為8、 4、 2、 1, 故稱為有權BCD碼。和四位自然二進制碼不同的是, 它只選用了四位二進制碼中前 10 組代碼,即用0000~1001分別代表它所對應的十進制數, 余下的六組代碼不用。 下表為其他常用BCD碼,但在PLC中一般BCD碼僅指8421碼。 2. 格雷碼(Gray Code) 格雷碼又稱循環碼。每一位的狀態變化都按一定的順序循環。如果從0000開始,最右邊一位的狀態按0110順序循環變化,右邊第二位的狀態按00111100順序變化,右邊第三位按0000111111110000順序循環變化。 它的特點是:自右向左,每一位狀態狀態中連續的0、1數目增加一倍;編碼順序依次變化時,相鄰兩個代碼之間只有一位發生變化。 格雷碼消除了隨機取數時出現重大錯誤的可能,其反射和自補特性使得對其進行求反操作也非常方便,所以,格雷碼屬于一種可靠性編碼,是一種錯誤最小化的編碼方式,因此格雷碼在通信和測量技術中得到廣泛應用。工控行業中格雷碼的典型應用是絕對值編碼器。 二進制格雷碼(GRY)與自然二進制碼(BIN)的互換: ①自然二進制碼轉換成二進制格雷碼 自然二進制碼轉換成二進制格雷碼,其法則是保留自然二進制碼的最高位作為格雷碼的最高位,而次高位格雷碼為二進制碼的高位與次高位相異或,而格雷碼其余各位與次高位的求法相類似。 3. 美國信息交換標準代碼(ASCⅡ) ASCII碼是一組7位二進制代碼,主要用于表示各種字符。ASCII碼共128個,其中包括表示0~9的十個代碼,表示大、小英文字母的52個代碼,32個表示各種符號的代碼及34個控制碼。它可以用于通訊信息的傳輸和控制。 |
---|---|
|
ymr78419972
宿命的輪回注定了要讓我們去追逐那些難以企及卻又十分向往的美麗
級別: 工控俠客
|
|
|
---|---|---|
|
feng-xing
級別: 略有小成
|
學習了,下面例題中好像少了乘號。3- 不同數制之間的轉換 1. 其它進制轉換為十進制 方法是:將其它進制按權位展開,然后各項相加,就得到相應的十進制數。 例1: N=(10110.101)B=(?)D 按權展開N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3 =16+4+2+0.5+0.125 =(22.625)D 例2: N=(532.8)H=(?)D 按權展開N=5*162+3*161+2*160+8*16-1 =1280+48+2+0.5 =(1330.5)D |
---|---|
|
銘杰工控
溫嶺市正凱自動化設備有限公司
級別: 網絡英雄
|
好貼要頂一下 |
|
---|---|---|
|
sjm213
有小知識,無大學問。
級別: 論壇版主
|
這應該用圖片傳上來,實際應該是n次方,請注意: 例1: N=(10110.101)B=(?)D 按權展開N=1*24+0*23+1*22+1*21+0*20+1*2-1+0*2-2+1*2-3 =16+4+2+0.5+0.125 =(22.625)D 例2: N=(532.8)H=(?)D 按權展開N=5*162+3*161+2*160+8*16-1 =1280+48+2+0.5 =(1330.5)D |
---|---|
|