第1章 數(shù)制與編碼_第1頁
第1章 數(shù)制與編碼_第2頁
第1章 數(shù)制與編碼_第3頁
第1章 數(shù)制與編碼_第4頁
第1章 數(shù)制與編碼_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)字電路

與系統(tǒng)設(shè)計DigitalCircuit &SystemDesign課程簡介數(shù)字技術(shù)的專業(yè)基礎(chǔ)課數(shù)字技術(shù)是現(xiàn)代“高科技”之一是互聯(lián)網(wǎng)的硬件基礎(chǔ)數(shù)字技術(shù)的應(yīng)用領(lǐng)域:數(shù)字通信家用電器娛樂產(chǎn)品測量與控制軍工、航天。。。課程簡介內(nèi)容:數(shù)制與編碼邏輯代數(shù)基礎(chǔ)邏輯門電路組合電路的分析與設(shè)計觸發(fā)器常用時序電路課程簡介時序電路的分析與設(shè)計脈沖波形的產(chǎn)生與整形數(shù)模、模數(shù)變換器可編程器件概述數(shù)字系統(tǒng)設(shè)計方法數(shù)制與編碼計算機系統(tǒng)中使用的是二進制數(shù)人類在日常生活中使用的則是十進制數(shù)建立二者之間的聯(lián)系為記憶、閱讀方便,人們還經(jīng)常使用八進制和十六進制,因此我們也要熟悉它們與二進制及十進制之間的關(guān)系字符,如數(shù)字、字母、運算符、各種符號。漢字、音頻、圖像、視頻等也是用二進制碼表示數(shù)制任意一個數(shù)均可寫為多項式形式

(345.67)10

=3×102+4×101+5×100+6×10-1+7×10-2

Digit權(quán)(Weight)十進制數(shù)的基數(shù)為10R進制數(shù)的基數(shù)為Rn位整數(shù)、m位小數(shù)的R進制數(shù)N:(N)R=Kn-1Kn-2···K0.K-1···K-m=Kn-1Rn-1+Kn-2Rn-2+···

+K0R0+K-1R-1+···+K-mR-m=∑KiRi其中R為R進制數(shù)的基數(shù)數(shù)制二、八、十、十六進制數(shù)對于十進制有:(N)10=∑di·10idi的取值范圍:0,1,2…9對于二進制有:(N)2=∑bi·2ibi的取值范圍:0,1對于八進制有:(N)8=∑qi·8iqi的取值范圍:0,1,2…7對于十六進制有:(N)16=∑hi·16ihi的取值范圍:0,1…9,A,B,C,D,E,F(xiàn)二、八、十、十六進制數(shù)二進制:Binary,B八進制:Octal,O(Q)十進制:Decimal,D十六進制:Hexadecimal,H二、八、十六進制到十進制的轉(zhuǎn)換

直接按加權(quán)相加即可。例1

(101.001)2=1·22+0·21+1·20+0·2-1

+0·2-2+1·2-3=(5.125)10例2

(32.56)8=3·81+2·80+5·8-1+6·8-2

=(26.71875)10例3(ED.A)16=14·161+13·160+10·16-1

=(237.625)10十進制 二進制 八進制 十六進制

0

0000

00

0

1

0001

01

1

2

0010

02

2

3

0011

03

3

4

0100

04

4

5

0101

05

5

6

0110

06

6

7

0111

07

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

八進制之間的轉(zhuǎn)換

每三位二進制數(shù)對應(yīng)一位八進制數(shù)轉(zhuǎn)換時從小數(shù)點向左、向右每3位為一組,直接寫出對應(yīng)的八進制數(shù)即可。小數(shù)點后最后一組要補足3位。

(10010111.1101)2=(010

010

111.110

100)2=(227.64)8(227.64)Q=(010

010

111.110

100)B

=(10010111.1101)B

十六進制之間的轉(zhuǎn)換四位二進制數(shù)對應(yīng)一位十六進制數(shù)轉(zhuǎn)換時從小數(shù)點向左、向右每4位為一組,直接寫出對應(yīng)的十六進制數(shù)即可。小數(shù)點后最后一組要補足4位。

(110110111.011)2=(0001

1011

0111.0110)2=(1B7.6)16(1C7.6)H=(0001

1100

0111.0110)B=(111000111.011)B八

十六進制之間的轉(zhuǎn)換八進制數(shù)到十六進制數(shù)之間的轉(zhuǎn)換通過轉(zhuǎn)換為二進制數(shù)作為中間過程

(1C7.6)16=(0001

1100

0111.0110)2=(111

000

111.011)2 =(707.3)8(707.3)8=(111

000

111.011)2 =(0001

1100

0111.0110)2 =(1C7.6)16數(shù)制轉(zhuǎn)換如果要將數(shù)N由R1進制轉(zhuǎn)換到R2進制,而R1=R2k,其中k為正整數(shù),則轉(zhuǎn)換時只要N的每一位分別寫出它所對應(yīng)的R2進制數(shù)即可。注意:除整數(shù)部分最高位、小數(shù)部分最低位外,其它位的無效0不能省;如果要將數(shù)N由R1進制轉(zhuǎn)換到R2進制,而R1k=R2,其中k為正整數(shù),則轉(zhuǎn)換時只要將數(shù)N從小數(shù)點分別向左、向右每k位一組分別寫出它所對應(yīng)的R2進制數(shù)即可。注意:小數(shù)部分最低位不足k位時,要補0整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換整數(shù)部分用連除法(59)10=(?)2解: 所以(59)10=(111011)2

十進制到二進制的轉(zhuǎn)換

5929

0

1

3

7

14

1

1

1

0

1

1

b5

b4

b3

b2

b1

b0

/2

/2

/2

/2

/2

/2

十進制到二進制的轉(zhuǎn)換小數(shù)部分用連乘法(0.8125)10=(?)2解: 所以(0.8125)10=(0.1101)2精度問題:轉(zhuǎn)換后小數(shù)位數(shù)的確定0.8125

0.625

0.25

0.5

0

1

1

0

1

b-1

b-2

b-3

b-4X2

X2

X2

X2

十進制到二進制的轉(zhuǎn)換整數(shù)、小數(shù)分別進行轉(zhuǎn)換,轉(zhuǎn)換完成后,合到一起即可。(59.8125)10=(111011.1101)2

小數(shù)轉(zhuǎn)換的精度轉(zhuǎn)換后小數(shù)位數(shù)的確定給定位數(shù)根據(jù)精度確定小數(shù)轉(zhuǎn)換的精度(0.2)10=(0.00110011……)2如果取8位小數(shù),則為0.00110011如果要求精度為1%,則應(yīng)滿足

[(0.2)10-(N)2]/(0.2)10<=0.01或這樣估算位數(shù):0.2*1%=0.0022-9=0.001953125<0.002,所以需要9位(0.001100110)2=(0.19921875)10十進制到八進制的轉(zhuǎn)換

整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換整數(shù)部分用連除法,連除以8例:(59)10=(?)8解:0

7

59 73 q1q0

所以(59)10=(73)8十進制到八進制的轉(zhuǎn)換小數(shù)部分用連乘法,連乘以8(0.8125)10=(?)8解:0.8125

0.5

0 64 q-1q-2

所以(0.8125)10=(0.64)8十進制到十六進制的轉(zhuǎn)換

整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換整數(shù)部分用連除法,連除以16

例:(59)10=(?)16解:0

3

59 311 3B h1h0

所以(59)10=(3B)16十進制到十六進制的轉(zhuǎn)換小數(shù)部分用連乘法,連乘以16(0.8125)10=(?)16解:0.81250 13 D h-1

所以(0.8125)10=(0.D)16十進制到八、十六進制的轉(zhuǎn)換另一種方式是先將十進制數(shù)轉(zhuǎn)換為二進制數(shù),再轉(zhuǎn)換為八、十六進制數(shù)兩種方法的比較:轉(zhuǎn)換為二進制數(shù)算式較長,但運算簡單;反之,算式較短,但運算較繁十進制到二、八、十六進制的轉(zhuǎn)換(59.8125)10=(111011.1101)2

=(73.64)8

=(3B.D)16自己選擇使用哪種方法數(shù)制轉(zhuǎn)換熟悉以后可用快速算法(110111)2=(?)106位全1為6363-8=55所以:(110111)2=(55)10(1001001)2=(?)1064+8+1=73所以:(1001001)2=(73)10數(shù)制轉(zhuǎn)換快速算法(35)10=(?)235=32+3所以:(35)10=(100011)2數(shù)制轉(zhuǎn)換2i,2i-1,i=0,1,…10,應(yīng)該非常熟悉:29=512 29-1=511210=1024 210-1=1023210=1024≈1000210=1K216=26*210=64K220=1M230=1G二進制符號數(shù)的表示方法

所謂符號數(shù)就是帶正、負號的數(shù)在數(shù)字系統(tǒng)中所有信息均由二進制碼表示數(shù)的正、負也由二進制碼表示常用的符號數(shù)表示法有三種:原碼表示法反碼表示法補碼表示法原碼表示法

用1位二進制數(shù)表示符號:0表示正數(shù),1表示負數(shù)數(shù)的大小以該數(shù)的絕對值表示符號位通常放在最高位如某數(shù)字系統(tǒng)中用8位存儲器存放數(shù)據(jù),其中最高位為符號位,其余7位為數(shù)的絕對值原碼表示法設(shè)n=8,二進制原碼表示法(+37)10+010010100100101(-37)10-010010110100101(+0)10+000000000000000(-0)10-000000010000000(+127)10+111111101111111(-127)10-111111111111111范圍:-(28-1-1)~+(28-1-1),共255個數(shù)

0有兩種表示方法:+0,-0反碼(1’sComplement)

二進制數(shù)每一位上的數(shù)字不是0就是1定義0的反碼為1,1的反碼為0一個二進制數(shù)的反碼定義為將二進制數(shù)的每一位分別求反而得到的二進制碼例:N=10011011則:(N)反=01100100符號數(shù)的反碼表示法

用1位二進制數(shù)表示符號:0表示正數(shù),1表示負數(shù)正數(shù)的大小用原碼表示,而負數(shù)的大小則以該數(shù)的反碼表示符號位通常放在最高位如某數(shù)字系統(tǒng)中用八位存儲器存放數(shù)據(jù),其中最高位為符號位,其余7位存放該數(shù)的反碼符號數(shù)的反碼表示法設(shè)n=8,二進制反碼表示法(+37)10+0100101

00100101(-37)10-0100101

11011010(+0)10+000000000000000(-0)10-0000000

11111111(+127)10+111111101111111(-127)10-1111111

10000000范圍:-(2n-1-1)~+(2n-1-1)+0,-0的表示形式不同補碼(2’sComplement)

設(shè)數(shù)N為有n位整數(shù)、m位小數(shù)的二進制數(shù),則N的補碼定義為:(N)補.n=2n-N。 由定義可知:N的補碼與N的大小有關(guān),還與整數(shù)位數(shù)n有關(guān);與小數(shù)位數(shù)無關(guān)設(shè)n=8,則(11001)補.8=28-11001=11100111(11001.0101)補.8=28-11001.0101 =11100110.1011補碼的求法

方法一:利用補碼的定義可以求一個數(shù)的補碼,但較為繁瑣一般不用

方法二:將原碼補足n位后求反加1即得其補碼求(11001)在n=8時的補碼補齊8位:00011001求反:11100110加1:11100111補碼的求法方法二的證明:N的補碼為

2n-N而2n-1為n位全1100000000-111111111=(2n-1-N)+1補碼的求法2n-1-N就是N的反碼111111110011010011001011再加1得證別名反碼又稱為1的補碼(1’scomplement)2n-1-N而補碼又稱為2的補碼(2’scomplement)2n-NN+(N)補=N+2n-N=2n

((N)補)補=N補碼的求法方法三:將原碼補足n位后,從右往左第一個1及其右邊的0不變,其余各位求反即得N的補碼N=00100100=00100

100 (N)補.8=11011

100依據(jù):100求反加1仍為100,其它位求反不變補碼的求法小數(shù)的補碼的求法:設(shè)整數(shù)部分位數(shù)n=8,求N=10010.01的補碼整數(shù)部分補齊8位00010010.01求反:11101101.10加1:11101101.11符號數(shù)的補碼表示法

用1位二進制數(shù)表示符號:0表示正數(shù),1表示負數(shù)正數(shù)的大小用原碼表示,而負數(shù)的大小則以該數(shù)的補碼表示符號位通常放在最高位如某數(shù)字系統(tǒng)中用八位存儲器存放數(shù)據(jù),其中最高位為符號位,其余7位存放該數(shù)的補碼符號數(shù)的補碼表示法

設(shè)n=8,二進制補碼表示法(+37)10+0100101

00100101(-37)10-0100101

11011011(+0)10+000000000000000(-0)10-0000000

00000000(+127)10+111111101111111(-127)10-1111111

10000001(-128)10-1000000010000000范圍:-2n-1~+(2n-1-1)+0,-0的表示形式相同補碼的求法設(shè)n=8,求下列二進制數(shù)的補碼1101,101,10111

這只是求補練習(xí)設(shè)n=8,求下列二進制數(shù)的補碼-1101,101,-11011

這是考補碼和符號數(shù)兩個概念利用補碼求符號數(shù)的加減運算

如果將加數(shù)和被加數(shù)均以其補碼表示,則只用加法運算器就可完成加減運算顯然這樣做可以節(jié)省硬件,降低生產(chǎn)成本運算時符號位與其它位一樣參與運算若符號位產(chǎn)生進位,則在結(jié)果中忽略該進位,不予考慮利用補碼求符號數(shù)的加減運算

設(shè)n=8,有兩個正數(shù)A=10011,B=1101。試用補碼求A+B,A-B,B-A,-A-B解:(A)補.8=00010011,(B)補.8=00001101 (-A)補.8=11101101,(-B)補.8=11110011A+B=10000000010011+0000110100100000-A+B=1111101011101101+0000110111111010A-B=11000010011+11110011100000110-A-B=1110000011101101+11110011111100000利用補碼求符號數(shù)的加減運算

在運算時符號位如同其它位一樣參與運算運算結(jié)果若符號位有溢出,則溢出位在結(jié)果中不予考慮運算結(jié)果以補碼形式表示同學(xué)們可驗證結(jié)果的正確性利用補碼求符號數(shù)的加減運算

設(shè)有兩個n位正數(shù)N1、N2,則-N1、-N2的補碼分別為2n-N1和2n-N2

N1+N2

就是兩個正數(shù)相加,結(jié)果為正數(shù)利用補碼求符號數(shù)的加減運算

N1-N2=N1+(2n-N2)=2n-(N2-N1)結(jié)果取決于N2-N1的符號:如果N2>N1,則結(jié)果為負數(shù),2n-(N2-N1)就是(N2-N1)的補碼;如果N2<N1,則結(jié)果為2n+(N1-N2),由于(N1-N2)>0,而2n為第n-1位的進位,位于第n位(n位運算器的最高位為第n-1位)上,在n位運算器之外,所以結(jié)果為N1-N2,是正數(shù)利用補碼求符號數(shù)的加減運算

-N1-N2=(2n-N1)+(2n-N2)=2n+[2n-(N1+N2)]其中第一個2n為第n-1位的進位,位于在第n位上,在n位運算器之外,舍去不管而[2n-(N1+N2)]就是負數(shù)-(N1+N2)的補碼由此可知利用補碼進行加減運算的正確性利用補碼求符號數(shù)的加減運算設(shè)n=8,有兩個正數(shù)A=110011,B=1101101。試用補碼求A+B,A-B,B-A,-A-B。解:(A)補.8=00110011,(B)補.8=01101101(-A)補.8=11001101,(-B)補.8=10010011A+B=1010000000110011+0110110110100000A-B=1100011000110011+10010011

11000110-A-B=0110000011001101+10010011101100000-A+B=0011101011001101+01101101

100111010利用補碼求符號數(shù)的加減運算A+B的結(jié)果為負數(shù),而-A-B的結(jié)果為正數(shù),二者顯然錯了;而-A+B和A-B結(jié)果正確兩個符號相異的數(shù)相加,結(jié)果的絕對值小于任一加數(shù)的絕對值所以此時運算結(jié)果不會超出n位符號數(shù)的表示范圍,即不會發(fā)生溢出錯誤利用補碼求符號數(shù)的加減運算兩個正數(shù)相加,由于兩個數(shù)的符號位均為0,所以符號位肯定不會產(chǎn)生進位如果此時兩個數(shù)的絕對值之和不大于(2n-1-1),則第n-2位(即最高數(shù)字位)就不會產(chǎn)生進位,運算結(jié)果就正確如果此時兩個數(shù)的絕對值之和大于(2n-1-1),則第n-2位就會產(chǎn)生進位,這個進位使第n-1位(即符號位)為1,結(jié)果成了負數(shù),顯然錯了。利用補碼求符號數(shù)的加減運算兩個負數(shù)相加,由于兩個數(shù)的符號位均為1,所以此時符號位(第n-1位)肯定有進位如果此時第n-2位有進位,則運算結(jié)果為負數(shù),結(jié)果正確如果此時第n-2位無進位,則運算結(jié)果為正數(shù),結(jié)果顯然錯了利用補碼求符號數(shù)的加減運算利用符號數(shù)的補碼進行加減運算時,如果兩個加數(shù)的絕對值之和大于n位符號數(shù)的表示范圍,則A+B和-A-B的運算結(jié)果就會發(fā)生錯誤這類錯誤稱為溢出Overflow溢出只發(fā)生在兩個加數(shù)的符號位相同時在設(shè)計加法器時必須考慮溢出問題,并在溢出時給出報警信號,以提示運算結(jié)果出錯利用補碼求符號數(shù)的加減運算當(dāng)?shù)趎-1位(符號位)和第n-2位(最高數(shù)字位)不同時有進位(兩個負數(shù)相加時)或不同時無進位(兩個正數(shù)相加時)時有溢出發(fā)生利用這個原則,就可以設(shè)計出邏輯電路,判斷有無溢出發(fā)生二-十進制編碼(BCD碼)

BinaryCodedDecimal數(shù)字系統(tǒng)中使用的是二進制數(shù),而在許多場合特別是在輸入(如鍵盤等)輸出(如顯示、打印等)時需要處理十進制數(shù)表示0~9十個十進制數(shù)字,需要十種組合三位二進制碼只有8種組合,不夠用四位二進制碼有16種組合,可用位數(shù)大于四的任意多位二進制數(shù)均可用,但那樣會造成資源浪費故一般情況下均用四位二進制數(shù)對一位十進制數(shù)進行編碼二-十進制編碼(BCD碼)用以表示十進制數(shù)字的二進制編碼稱為BCD碼從四位二進制碼的16種組合中取10種去表示10個十進制數(shù)字,共有C1610=16!/(10!·(16-10)!)種取法;而每種取法又有10!種分配方案;故共有16!/6!種可能的BCD編碼方法可供選擇!當(dāng)然我們不可能全用十進制數(shù) 8421 5421 2421 余3碼 余3循環(huán)碼 備注

0 0000 0000 0000 0011 0010 有效編碼

1 0001 0001 0001 0100 0110 2 0010 0010 0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論