單片機(jī)原理與應(yīng)用_01計(jì)算機(jī)基礎(chǔ)_第1頁(yè)
單片機(jī)原理與應(yīng)用_01計(jì)算機(jī)基礎(chǔ)_第2頁(yè)
單片機(jī)原理與應(yīng)用_01計(jì)算機(jī)基礎(chǔ)_第3頁(yè)
單片機(jī)原理與應(yīng)用_01計(jì)算機(jī)基礎(chǔ)_第4頁(yè)
單片機(jī)原理與應(yīng)用_01計(jì)算機(jī)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第1 1章章 計(jì)算機(jī)基礎(chǔ)計(jì)算機(jī)基礎(chǔ) 1.1 1.1 概概 述述 1.2 1.2 計(jì)算機(jī)中的數(shù)制、碼制及運(yùn)算計(jì)算機(jī)中的數(shù)制、碼制及運(yùn)算 1.3 1.3 邏輯代數(shù)與數(shù)字電路邏輯代數(shù)與數(shù)字電路 1.4 1.4 計(jì)算機(jī)的基本組成與工作過(guò)程計(jì)算機(jī)的基本組成與工作過(guò)程 1.1 1.1 概概 述述 自自19711971年年1111月,美國(guó)月,美國(guó)IntelIntel公司推出公司推出4 4位微處理器位微處理器Intel4004Intel4004以后,微處以后,微處理器迅速發(fā)展,按其集程度、體系結(jié)構(gòu)、字長(zhǎng)及綜合性能,大致經(jīng)歷了四個(gè)理器迅速發(fā)展,按其集程度、體系結(jié)構(gòu)、字長(zhǎng)及綜合性能,大致經(jīng)歷了四個(gè)發(fā)展時(shí)期,也稱(chēng)

2、為四代?,F(xiàn)在的發(fā)展時(shí)期,也稱(chēng)為四代?,F(xiàn)在的PentiumPentium微處理器堪稱(chēng)為微處理器堪稱(chēng)為IntelIntel公司的第五代公司的第五代微處理器。微處理器。 在微處理器的發(fā)展過(guò)程中,人們?cè)噲D在其芯片中增加存儲(chǔ)器、在微處理器的發(fā)展過(guò)程中,人們?cè)噲D在其芯片中增加存儲(chǔ)器、I/OI/O接口接口電路、定時(shí)器電路、定時(shí)器/ /計(jì)數(shù)器、計(jì)數(shù)器、UARTUART,甚至,甚至A/DA/D、D/AD/A轉(zhuǎn)換器等,以提高其功能,并賦轉(zhuǎn)換器等,以提高其功能,并賦予專(zhuān)門(mén)的用途,比如數(shù)據(jù)采集、通信、信號(hào)傳送與控制等。因此也就產(chǎn)生了予專(zhuān)門(mén)的用途,比如數(shù)據(jù)采集、通信、信號(hào)傳送與控制等。因此也就產(chǎn)生了各種具有不同功能的微

3、處理器,稱(chēng)之為微控制器各種具有不同功能的微處理器,稱(chēng)之為微控制器(Microcontroller)(Microcontroller),亦稱(chēng),亦稱(chēng)為單片機(jī)為單片機(jī)(Single chip computer)(Single chip computer)。自。自19761976年年IntelIntel公司推出公司推出MCS-48MCS-48系列單系列單片機(jī)以后,相繼涌現(xiàn)出不少的生產(chǎn)廠家、公司及系列產(chǎn)品。例如片機(jī)以后,相繼涌現(xiàn)出不少的生產(chǎn)廠家、公司及系列產(chǎn)品。例如IntelIntel公司的公司的MCS-51MCS-51系列,系列,MotorolaMotorola公司的公司的MC6801MC6801、6

4、8056805,ZilogZilog公司的公司的Z8Z8,RockwellRockwell公公司的司的6500/16500/1系列等。系列等。 由于單片機(jī)結(jié)構(gòu)緊湊,體積小,功能強(qiáng),大量用于智能儀器儀表、由于單片機(jī)結(jié)構(gòu)緊湊,體積小,功能強(qiáng),大量用于智能儀器儀表、前端控制設(shè)備、家用電器之中,因此也稱(chēng)為前端控制設(shè)備、家用電器之中,因此也稱(chēng)為“嵌入式嵌入式”芯片。自上世芯片。自上世紀(jì)紀(jì)9090年代以后,隨著自動(dòng)控制、網(wǎng)絡(luò)通信、家用電器以及多媒體技術(shù)年代以后,隨著自動(dòng)控制、網(wǎng)絡(luò)通信、家用電器以及多媒體技術(shù)的發(fā)展,尤其是手機(jī)的大量使用,猛烈地撞擊著單片機(jī)市場(chǎng),使的發(fā)展,尤其是手機(jī)的大量使用,猛烈地撞擊著單

5、片機(jī)市場(chǎng),使“嵌嵌入式入式”芯片作為一種新的技術(shù)迅速發(fā)展??蓺w結(jié)為以下幾個(gè)方面:芯片作為一種新的技術(shù)迅速發(fā)展??蓺w結(jié)為以下幾個(gè)方面: (1) (1) 增加字長(zhǎng),提高數(shù)據(jù)精度和處理的速度。早期字長(zhǎng)是增加字長(zhǎng),提高數(shù)據(jù)精度和處理的速度。早期字長(zhǎng)是8 8位,位,以后發(fā)展為以后發(fā)展為1616位、位、2424位和位和3232位。但在多數(shù)應(yīng)用場(chǎng)合,位。但在多數(shù)應(yīng)用場(chǎng)合,8 8位數(shù)據(jù)可以滿(mǎn)位數(shù)據(jù)可以滿(mǎn)足需要。因此,足需要。因此,8 8位單片機(jī)與位單片機(jī)與16/24/3216/24/32位單片機(jī)一樣,竟相發(fā)展。位單片機(jī)一樣,竟相發(fā)展。 (2) 改進(jìn)制作工藝,提高單片機(jī)的整體性能,由改進(jìn)制作工藝,提高單片機(jī)的整

6、體性能,由MOS型發(fā)展成型發(fā)展成CMOS、HCMOS型,提高了芯片的集程度和器件型,提高了芯片的集程度和器件的速度,降低了電壓和功耗;內(nèi)部采用大容量的速度,降低了電壓和功耗;內(nèi)部采用大容量FLASH快閃快閃存儲(chǔ)器,實(shí)現(xiàn)在系統(tǒng)中燒錄程序存儲(chǔ)器,實(shí)現(xiàn)在系統(tǒng)中燒錄程序(ISP)和在應(yīng)用中燒錄程序和在應(yīng)用中燒錄程序(IAP)等技術(shù)。比如,等技術(shù)。比如,Philips的的P89C51RC2/RD2具有具有32/64KB的的FLASH快閃存儲(chǔ)器,集成有引導(dǎo)和擦除快閃存儲(chǔ)器,集成有引導(dǎo)和擦除/燒錄程燒錄程序,支持序,支持ISP和和IAP技術(shù);外部時(shí)鐘頻率提高到技術(shù);外部時(shí)鐘頻率提高到33 MHz40MHz,

7、運(yùn)算速度達(dá)到,運(yùn)算速度達(dá)到50 MIPS100MIPS。 (3) (3)由復(fù)雜指令集由復(fù)雜指令集CISC(Complex instruction set CISC(Complex instruction set computer )computer ) 技術(shù)轉(zhuǎn)向簡(jiǎn)單指令集技術(shù)轉(zhuǎn)向簡(jiǎn)單指令集R I S C ( R e d u c e d R I S C ( R e d u c e d instruction set computer)instruction set computer)技術(shù)。早期的技術(shù)。早期的MCS-51MCS-51單片機(jī)單片機(jī)采用的是采用的是CISCCISC技術(shù),以后采用技術(shù),以

8、后采用RISCRISC技術(shù),簡(jiǎn)化了體系結(jié)構(gòu),技術(shù),簡(jiǎn)化了體系結(jié)構(gòu),提高提高CPUCPU的速度,比如的速度,比如MicrochipMicrochip的的PIC12/16/17/18FxxxPIC12/16/17/18Fxxx微微控制器等??刂破鞯?。 (4) 采用多功能模塊集成技術(shù),使一塊采用多功能模塊集成技術(shù),使一塊“嵌入式嵌入式”芯片具芯片具有多種功能,除了有多種功能,除了RAM/ROM、寄存器文件、定時(shí)器、寄存器文件、定時(shí)器/計(jì)數(shù)器、計(jì)數(shù)器、并并/串行接口電路、串行接口電路、V/F變換器、變換器、A/D與與D/A電路之外,已有許多電路之外,已有許多單片機(jī)采用雙單片機(jī)采用雙CPU或者多或者多C

9、PU結(jié)構(gòu),增加鎖相環(huán)路、結(jié)構(gòu),增加鎖相環(huán)路、USB、CAN、ISSC、I2C等總線(xiàn)接口,提供支持等總線(xiàn)接口,提供支持TCP/IP協(xié)議的通信接協(xié)議的通信接口。比如美國(guó)口。比如美國(guó)Echelon公司的公司的Neuron3150,內(nèi)置,內(nèi)置3個(gè)個(gè)CPU,一個(gè),一個(gè)用于介質(zhì)訪(fǎng)問(wèn),一個(gè)用于數(shù)據(jù)處理器,另一個(gè)作為網(wǎng)絡(luò)處理器用于介質(zhì)訪(fǎng)問(wèn),一個(gè)用于數(shù)據(jù)處理器,另一個(gè)作為網(wǎng)絡(luò)處理器。又如。又如Philips的的P89C66x,提供,提供I2C總線(xiàn)傳送方式??偩€(xiàn)傳送方式。 (5) (5) 將微處理器與將微處理器與DSP(Digital signal processor)DSP(Digital signal pro

10、cessor)技術(shù)結(jié)合,技術(shù)結(jié)合,適時(shí)解決網(wǎng)絡(luò)與多媒體技術(shù)所需的高速實(shí)時(shí)處理能力。比如我國(guó)臺(tái)適時(shí)解決網(wǎng)絡(luò)與多媒體技術(shù)所需的高速實(shí)時(shí)處理能力。比如我國(guó)臺(tái)灣凌陽(yáng)科技公司推出的灣凌陽(yáng)科技公司推出的nspnsp系列單片機(jī),其系列單片機(jī),其1616位機(jī)中增添了位機(jī)中增添了DSPDSP功能,具有語(yǔ)音編碼與解碼器,內(nèi)置在線(xiàn)仿真電路功能,具有語(yǔ)音編碼與解碼器,內(nèi)置在線(xiàn)仿真電路ICE(In circuit ICE(In circuit emulator)emulator)。 (6) (6) 在內(nèi)部融入高級(jí)語(yǔ)言的編譯程序,支持應(yīng)用程序接口在內(nèi)部融入高級(jí)語(yǔ)言的編譯程序,支持應(yīng)用程序接口API API 的使用,支持的

11、使用,支持C C及硬件描述語(yǔ)言及硬件描述語(yǔ)言VHDLVHDL等高級(jí)語(yǔ)言的使用;內(nèi)置在線(xiàn)等高級(jí)語(yǔ)言的使用;內(nèi)置在線(xiàn)仿真電路仿真電路ICE(In circuit emulator)ICE(In circuit emulator),支持在線(xiàn)編程寫(xiě)入,即,支持在線(xiàn)編程寫(xiě)入,即ISPISP和和IAPIAP技術(shù)等。技術(shù)等。 (7) 追求低電壓、寬電壓、低功耗和少引腳。改進(jìn)制作追求低電壓、寬電壓、低功耗和少引腳。改進(jìn)制作工藝,降低內(nèi)部電壓和功耗,提供寬電壓使用方式,以支工藝,降低內(nèi)部電壓和功耗,提供寬電壓使用方式,以支持不同場(chǎng)合的需要。比如瑞典持不同場(chǎng)合的需要。比如瑞典Xemic公司的公司的XE8301,使

12、用,使用電壓為電壓為1.2V5.5V,當(dāng)運(yùn)算速度為,當(dāng)運(yùn)算速度為1MIPS時(shí)電流為時(shí)電流為200A,在待機(jī)狀態(tài)下僅為在待機(jī)狀態(tài)下僅為1A;DSP56852外部?jī)H有外部?jī)H有81個(gè)引腳。個(gè)引腳。 如今,如今,“嵌入式嵌入式”單片機(jī)已廣泛用于數(shù)值計(jì)算與單片機(jī)已廣泛用于數(shù)值計(jì)算與處理、自動(dòng)化控制、智能儀器儀表、空間探測(cè)、導(dǎo)彈制處理、自動(dòng)化控制、智能儀器儀表、空間探測(cè)、導(dǎo)彈制導(dǎo)、機(jī)器人、網(wǎng)絡(luò)通信、視頻電話(huà)、家用電器以及各種導(dǎo)、機(jī)器人、網(wǎng)絡(luò)通信、視頻電話(huà)、家用電器以及各種多媒體技術(shù)領(lǐng)域。以多媒體技術(shù)領(lǐng)域。以DSP單片機(jī)為內(nèi)核的產(chǎn)品已經(jīng)難以單片機(jī)為內(nèi)核的產(chǎn)品已經(jīng)難以盡數(shù),比如盡數(shù),比如Web可視電話(huà)、可視電

13、話(huà)、Web電視游戲機(jī)、數(shù)字?jǐn)z象電視游戲機(jī)、數(shù)字?jǐn)z象機(jī)、數(shù)碼相機(jī)、移動(dòng)電話(huà)、手持掛網(wǎng)影碟機(jī)、機(jī)、數(shù)碼相機(jī)、移動(dòng)電話(huà)、手持掛網(wǎng)影碟機(jī)、DVD以及以及電視會(huì)議設(shè)備等。電視會(huì)議設(shè)備等。 1.2 1.2 計(jì)算機(jī)中的數(shù)制、碼制及運(yùn)算計(jì)算機(jī)中的數(shù)制、碼制及運(yùn)算 1.2.1 1.2.1 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制1.2.2 1.2.2 二進(jìn)制數(shù)的表示與基本運(yùn)算二進(jìn)制數(shù)的表示與基本運(yùn)算1.2.3 1.2.3 八進(jìn)制與十六進(jìn)制數(shù)的表示八進(jìn)制與十六進(jìn)制數(shù)的表示1.2.4 1.2.4 不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換1.2.5 1.2.5 十進(jìn)制數(shù)與字符的二進(jìn)制數(shù)表示法十進(jìn)制數(shù)與字符的二進(jìn)制數(shù)表示法1.2.

14、6 1.2.6 原碼、補(bǔ)碼、反碼及運(yùn)算法則原碼、補(bǔ)碼、反碼及運(yùn)算法則1.2.7 1.2.7 定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù)與浮點(diǎn)數(shù)1.2.1 1.2.1 進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制 早在遠(yuǎn)古時(shí)期,人們就已經(jīng)有了數(shù)的概念,并且隨著生產(chǎn)的早在遠(yuǎn)古時(shí)期,人們就已經(jīng)有了數(shù)的概念,并且隨著生產(chǎn)的發(fā)展創(chuàng)造出許多計(jì)數(shù)的方法。其中應(yīng)用最廣泛、最科學(xué)的方法就發(fā)展創(chuàng)造出許多計(jì)數(shù)的方法。其中應(yīng)用最廣泛、最科學(xué)的方法就是是“進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制”。 所謂進(jìn)位計(jì)數(shù)制是取有序數(shù)符中的任意個(gè),按位置排列,其所謂進(jìn)位計(jì)數(shù)制是取有序數(shù)符中的任意個(gè),按位置排列,其相鄰兩位之比是一個(gè)固定的常數(shù),這個(gè)常數(shù)稱(chēng)為基數(shù)。取不同的相鄰兩位之比是一個(gè)固定的常

15、數(shù),這個(gè)常數(shù)稱(chēng)為基數(shù)。取不同的基數(shù),則可得到不同的進(jìn)位計(jì)數(shù)制。若以基數(shù),則可得到不同的進(jìn)位計(jì)數(shù)制。若以R R表示基數(shù),則為表示基數(shù),則為R R進(jìn)制進(jìn)制的數(shù),在進(jìn)位時(shí),逢的數(shù),在進(jìn)位時(shí),逢R R進(jìn)一。進(jìn)一。 例如人們所熟悉的十進(jìn)制數(shù)例如人們所熟悉的十進(jìn)制數(shù)2002,就是取有序數(shù)符,就是取有序數(shù)符0,1,2,9中的中的2,0,0,2,按位置排列。其中兩位是,按位置排列。其中兩位是2,但由,但由于所處的位置不同,所表示數(shù)值的大小也就不同。一個(gè)表示于所處的位置不同,所表示數(shù)值的大小也就不同。一個(gè)表示2,另一個(gè)表示另一個(gè)表示2000。這就是人們常說(shuō)的。這就是人們常說(shuō)的“個(gè),十,百,千個(gè),十,百,千”,在

16、數(shù),在數(shù)學(xué)上稱(chēng)為學(xué)上稱(chēng)為“權(quán)權(quán)”。這樣的數(shù)通常稱(chēng)為。這樣的數(shù)通常稱(chēng)為“加權(quán)數(shù)加權(quán)數(shù)”或或“權(quán)碼權(quán)碼”。顯。顯然,基數(shù)不同,各位的權(quán)也就不同。對(duì)于然,基數(shù)不同,各位的權(quán)也就不同。對(duì)于R進(jìn)制的數(shù),各位的權(quán)進(jìn)制的數(shù),各位的權(quán)分別為:分別為: R3,R2,R1,R0,R-1,R-2 在計(jì)算機(jī)中,常用的進(jìn)位計(jì)數(shù)制有二進(jìn)制、八進(jìn)制、十進(jìn)制在計(jì)算機(jī)中,常用的進(jìn)位計(jì)數(shù)制有二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制。也就是說(shuō),和十六進(jìn)制。也就是說(shuō),R分別為分別為2,8,10,和,和16。 對(duì)于十進(jìn)制數(shù),其基數(shù)為十,逢十進(jìn)一,各位的權(quán)分別是:對(duì)于十進(jìn)制數(shù),其基數(shù)為十,逢十進(jìn)一,各位的權(quán)分別是: 10 103 3,10,10

17、2 2,10,101 1,10,100 0,10,10-1-1,10,10-2-2 例如:例如:256.7256.7,各位的權(quán)分別為,各位的權(quán)分別為10102 2,10101 1,10100 0和和1010-1-1。按權(quán)展開(kāi),形式。按權(quán)展開(kāi),形式如下:如下:256.7=2256.7=2(10)(10)2 2+5+5(10)(10)1 1+6+6(10)(10)0 0+7+7(10)(10)-1-1一般來(lái)說(shuō)一般來(lái)說(shuō), ,一個(gè)任意的十位制數(shù)可以表示為一個(gè)任意的十位制數(shù)可以表示為: :(N)(N)1010=(D=(Dn-1n-1D Dn-2n-2D D1 1D D0 0.D.D-1-1D D-m-m

18、) )1010 在書(shū)寫(xiě)時(shí),其后用字母在書(shū)寫(xiě)時(shí),其后用字母D(Decimal)D(Decimal)說(shuō)明,亦稱(chēng)為后綴,比如說(shuō)明,亦稱(chēng)為后綴,比如23.52D23.52D。由于十進(jìn)制數(shù)是人們最常用的計(jì)數(shù)方式,因此后綴由于十進(jìn)制數(shù)是人們最常用的計(jì)數(shù)方式,因此后綴D D可以缺省??梢匀笔 ?Di(10)in-1i=-m= =Dn-1(10)n-1+Dn-2(10)n-2+D1(10)1+D0(10)0+D-1(10)-1+D-2(10)-2+D-m(10)-m1.2.2 1.2.2 二進(jìn)制數(shù)的表示與基本運(yùn)算二進(jìn)制數(shù)的表示與基本運(yùn)算1. 1. 二進(jìn)制數(shù)的表示二進(jìn)制數(shù)的表示二進(jìn)制是基數(shù)為二進(jìn)制是基數(shù)為2 2

19、的進(jìn)位計(jì)數(shù)制,它所使用的數(shù)符為的進(jìn)位計(jì)數(shù)制,它所使用的數(shù)符為0 0,1 1和和小數(shù)點(diǎn)小數(shù)點(diǎn)“. .”,各位的權(quán)如,各位的權(quán)如表表1.11.1所示。所示。例如二進(jìn)制數(shù)例如二進(jìn)制數(shù)1111.111111.11各位的權(quán)分別為:各位的權(quán)分別為:2 23 3,2,22 2,2,21 1,2,20 0,2,2-1-1,2,2-2-2可表示為:可表示為: (N)(N)2 2=(B=(Bn-1n-1B Bn-2n-2B B1 1B B0 0.B.B-1-1B B-2-2B B-m-m) )2 2 Bi(10)in-1i=-m= =Bn-1(10)n-1+Bn-2(10)n-2+B1(10)1+B0(10)0+

20、B-1(10)-1+B-2(10)-2+B-m(10)-m表1.1 二進(jìn)制(R=2)各位的權(quán)(Ri)iRiiRiiRi-10.501664-20.25127128-30.125248256-40.0625389512-50.03125416101024-60.015625532112048 這里這里10對(duì)于任何對(duì)于任何R進(jìn)制數(shù)來(lái)說(shuō),形式上一樣,但表示數(shù)值的大進(jìn)制數(shù)來(lái)說(shuō),形式上一樣,但表示數(shù)值的大小隨著小隨著R的不同而不同。對(duì)于二進(jìn)制數(shù),的不同而不同。對(duì)于二進(jìn)制數(shù),10表示表示2,讀作,讀作“么零么零”。在書(shū)寫(xiě)時(shí),其后用字母在書(shū)寫(xiě)時(shí),其后用字母B說(shuō)明,比如說(shuō)明,比如101.011B。 11000

21、10111101+ +0+0=00+1=11+0=11+1=100- -0=01- -0=11- -1=010- -1=1 2. 2. 算術(shù)運(yùn)算算術(shù)運(yùn)算 在計(jì)算機(jī)中,基本的算術(shù)運(yùn)算有四種,即加、減、乘、除,在計(jì)算機(jī)中,基本的算術(shù)運(yùn)算有四種,即加、減、乘、除,舉例如下:舉例如下:(1) (1) 加法運(yùn)算加法運(yùn)算 例如例如 1101+1011=110001101+1011=11000(2) (2) 減法運(yùn)算減法運(yùn)算 例如例如 1101-0110=01111101-0110=0111011101101101- -00=001=010=011=111010110110100001101+1001110

22、00=001=011=1- 11011) 101 101 101 111 101 - 10 (3) (3) 乘法運(yùn)算乘法運(yùn)算 例如例如 11011101110=1001110110=1001110(4) (4) 除法運(yùn)算除法運(yùn)算 例如例如 1101111011101=101101=101余余10101.2.3 1.2.3 八進(jìn)制與十六進(jìn)制數(shù)的表示八進(jìn)制與十六進(jìn)制數(shù)的表示 一般來(lái)說(shuō)一般來(lái)說(shuō), ,對(duì)于任意進(jìn)制的數(shù)都可以寫(xiě)成多項(xiàng)式的形式對(duì)于任意進(jìn)制的數(shù)都可以寫(xiě)成多項(xiàng)式的形式: :(N)(N)R R=(N=(Nn-1n-1N Nn-2n-2N N1 1N N0 0.N.N-1-1N N-m-m) )R

23、 R 其中其中n n是整數(shù)位數(shù),是整數(shù)位數(shù),m m是小數(shù)位數(shù),是小數(shù)位數(shù),N Ni i表示其中的一個(gè)數(shù)符。括號(hào)中表示其中的一個(gè)數(shù)符。括號(hào)中的的1010,對(duì)于任何,對(duì)于任何R R進(jìn)制數(shù)來(lái)說(shuō),只是形式上一樣,所表示數(shù)值的大小隨進(jìn)制數(shù)來(lái)說(shuō),只是形式上一樣,所表示數(shù)值的大小隨著著R R的不同而不同。的不同而不同。 Ni(10)in-1i=-m= =Nn-1(10)n-1+Nn-2(10)n-2+N1(10)1+N0(10)0+N-1(10)-1+N-2(10)-2+N-m(10)-m1 1八進(jìn)制數(shù)的表示八進(jìn)制數(shù)的表示 在進(jìn)位計(jì)數(shù)制中,若令基數(shù)在進(jìn)位計(jì)數(shù)制中,若令基數(shù)R=8R=8,即得八進(jìn)制數(shù)。使用的數(shù)

24、,即得八進(jìn)制數(shù)。使用的數(shù)符有符有0 0,1 1,7 7,可以,可以O(shè)(Octal)O(Octal)作為后綴進(jìn)行說(shuō)明。但是由于作為后綴進(jìn)行說(shuō)明。但是由于O O與數(shù)字與數(shù)字0 0在書(shū)寫(xiě)時(shí)難以區(qū)分,因此常以字母在書(shū)寫(xiě)時(shí)難以區(qū)分,因此常以字母Q Q作為后綴,比如作為后綴,比如247.52Q247.52Q。2 2十六進(jìn)制數(shù)的表示十六進(jìn)制數(shù)的表示 在進(jìn)位計(jì)數(shù)制中,若令基數(shù)在進(jìn)位計(jì)數(shù)制中,若令基數(shù)R=16R=16,即得十六進(jìn)制數(shù),使用,即得十六進(jìn)制數(shù),使用的數(shù)符有的數(shù)符有0 0,1 1,2 2,9 9,A(10)A(10),B(11)B(11),C(12)C(12),D(13)D(13),E(14)E(14

25、),F(xiàn)(15)F(15),常用字母,常用字母H(Hexadecimal)H(Hexadecimal)作為后綴進(jìn)行說(shuō)明,作為后綴進(jìn)行說(shuō)明,比如比如1E.5BH1E.5BH。1.2.4 1.2.4 不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換 同一個(gè)數(shù)在不同的進(jìn)位制中,其形式不同,但數(shù)值卻同一個(gè)數(shù)在不同的進(jìn)位制中,其形式不同,但數(shù)值卻是一樣的。常用的轉(zhuǎn)換方法有多項(xiàng)式替代法和基數(shù)乘除法。是一樣的。常用的轉(zhuǎn)換方法有多項(xiàng)式替代法和基數(shù)乘除法。1 1多項(xiàng)式替代法多項(xiàng)式替代法 是將欲轉(zhuǎn)換的數(shù)展開(kāi)為多項(xiàng)式,再將多項(xiàng)式中的數(shù)符是將欲轉(zhuǎn)換的數(shù)展開(kāi)為多項(xiàng)式,再將多項(xiàng)式中的數(shù)符和基數(shù)換成要轉(zhuǎn)換的進(jìn)位計(jì)數(shù)制的相應(yīng)數(shù)

26、符,然后按所要和基數(shù)換成要轉(zhuǎn)換的進(jìn)位計(jì)數(shù)制的相應(yīng)數(shù)符,然后按所要轉(zhuǎn)換的進(jìn)位計(jì)數(shù)制計(jì)算此多項(xiàng)式,其值即為轉(zhuǎn)換結(jié)果。轉(zhuǎn)換的進(jìn)位計(jì)數(shù)制計(jì)算此多項(xiàng)式,其值即為轉(zhuǎn)換結(jié)果?!纠?.1】二二-十轉(zhuǎn)換十轉(zhuǎn)換,(1001.11)2=(?)10解:解:(1001.11)2=(11011+01010+0101+1100+110-1+110-10)2 =(123+022+021+120+12-1+12-2)10 =(8+1+0.5+0.25)10 =(9.75)10【例例1.2】 八八-十轉(zhuǎn)換十轉(zhuǎn)換,(372.01)8=(?)10解:解:(372.01)8=(3102+7101+2100+010-1+110-2)8

27、 =(382+781+280+08-1+18-2)10 =(250.015625)10【例例1.31.3】 十六十六-十轉(zhuǎn)換十轉(zhuǎn)換, (B5.8), (B5.8)1616=(?)=(?)1010解:解:(B5.8)(B5.8)1616=(B=(B10101 1+5+510100 0+8+81010-1-1) )1616=(11=(1116161 1+5+516160 0+8+81616-1-1) )1010=(181.5)=(181.5)1010 由于人們最熟悉的是十進(jìn)制運(yùn)算,因此這種轉(zhuǎn)換方法尤其由于人們最熟悉的是十進(jìn)制運(yùn)算,因此這種轉(zhuǎn)換方法尤其適合于任何進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換。而且在轉(zhuǎn)換過(guò)程

28、中整數(shù)適合于任何進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換。而且在轉(zhuǎn)換過(guò)程中整數(shù)部分和小數(shù)部分一并進(jìn)行。部分和小數(shù)部分一并進(jìn)行。2.2.基數(shù)乘除法基數(shù)乘除法 (1) (1) 基數(shù)除法基數(shù)除法-整數(shù)轉(zhuǎn)換整數(shù)轉(zhuǎn)換 若將若將R R1 1進(jìn)制的整數(shù)轉(zhuǎn)換為進(jìn)制的整數(shù)轉(zhuǎn)換為R R2 2進(jìn)制的數(shù),可在進(jìn)制的數(shù),可在R R1 1進(jìn)制中用基進(jìn)制中用基數(shù)數(shù)R R2 2去除該數(shù),所得到的余數(shù)即是去除該數(shù),所得到的余數(shù)即是R R2 2進(jìn)制的最低整數(shù)位。然后進(jìn)制的最低整數(shù)位。然后對(duì)除得的商再用對(duì)除得的商再用R R2 2去除,于是又得一余數(shù),這個(gè)余數(shù)就是去除,于是又得一余數(shù),這個(gè)余數(shù)就是R R2 2進(jìn)進(jìn)制數(shù)的次低位。如此不斷進(jìn)行下去,直到商

29、為制數(shù)的次低位。如此不斷進(jìn)行下去,直到商為0 0。再將所得到。再將所得到余數(shù)的數(shù)符換成余數(shù)的數(shù)符換成R R2 2進(jìn)制中相應(yīng)的數(shù)符,按先后順序由低位到進(jìn)制中相應(yīng)的數(shù)符,按先后順序由低位到高位排列起來(lái),即得轉(zhuǎn)換結(jié)果。高位排列起來(lái),即得轉(zhuǎn)換結(jié)果。 【例例1.41.4】 十十-二轉(zhuǎn)換,二轉(zhuǎn)換,(17)(17)1010=(?)=(?)2 2 所以所以(17)(17)1010=(10001)=(10001)2 2【例例1.51.5】十十-八轉(zhuǎn)換,八轉(zhuǎn)換,(127)(127)1010=(?)=(?)8 8 所以所以(127)(127)1010=(177)=(177)8 8 2222217 余余1 余余0 余

30、余0 余余0 余余1 84210 888127余余7 余余7 余余1 151 0【例例1.61.6】十十-十六轉(zhuǎn)換,十六轉(zhuǎn)換,(258)(258)1010=(?)=(?)1616 所以所以(258)(258)1010=(102)=(102)1616 161616161616258258 余余2 2 余余0 0 余余1 116161 1 0 0(2) (2) 基數(shù)乘法基數(shù)乘法-小數(shù)轉(zhuǎn)換小數(shù)轉(zhuǎn)換 若將若將R R1 1進(jìn)制的小數(shù)轉(zhuǎn)換為進(jìn)制的小數(shù)轉(zhuǎn)換為R R2 2進(jìn)制的數(shù),可在進(jìn)制的數(shù),可在R R1 1進(jìn)制中用基數(shù)進(jìn)制中用基數(shù)R R2 2去乘該數(shù),所得到的整數(shù)就是去乘該數(shù),所得到的整數(shù)就是R R2 2

31、進(jìn)制數(shù)的最高小數(shù)位。然后將乘積進(jìn)制數(shù)的最高小數(shù)位。然后將乘積的小數(shù)部分再用的小數(shù)部分再用R R2 2去乘。于是又得一整數(shù),是去乘。于是又得一整數(shù),是R R2 2進(jìn)制數(shù)的次高小數(shù)進(jìn)制數(shù)的次高小數(shù)位。如此不斷進(jìn)行下去,直到乘積的小數(shù)部分為位。如此不斷進(jìn)行下去,直到乘積的小數(shù)部分為0 0或達(dá)到轉(zhuǎn)換精度或達(dá)到轉(zhuǎn)換精度為止,即得為止,即得R R2 2進(jìn)制的小數(shù)。進(jìn)制的小數(shù)。 【例例1.7】 十十-二轉(zhuǎn)換,二轉(zhuǎn)換,(0.275)10=(?)20.2750.275 0.5500.550 整數(shù)部分為整數(shù)部分為0 0 1.1001.100 整數(shù)部分為整數(shù)部分為1 10.1000.100 0.2000.200 整

32、數(shù)部分為整數(shù)部分為0 0 0.4000.400 整數(shù)部分為整數(shù)部分為0 0 0.8000.800 整數(shù)部分為整數(shù)部分為0 0 1.6001.600 整數(shù)部分為整數(shù)部分為1 10.6000.600 1.2001.200 整數(shù)部分為整數(shù)部分為1 10.2000.200 循環(huán)循環(huán) 2 2 2 2 2 2 2 2 2 2 2 2 2 2所以所以(0.275)(0.275)1010(0.0100011)(0.0100011)【例例1.81.8】 十十-八轉(zhuǎn)換,八轉(zhuǎn)換,(0.275)(0.275)1010=(?)=(?)8 8 所以所以(0.275)(0.275)1010(0.21463)(0.21463

33、)8 8 0.275 82.200整數(shù)部分為整數(shù)部分為20.200 81.600整數(shù)部分為整數(shù)部分為10.600 84.800整數(shù)部分為整數(shù)部分為40.800 86.400整數(shù)部分為整數(shù)部分為60.400 83.200整數(shù)部分為整數(shù)部分為30.200【例例1.91.9】 十十-十六轉(zhuǎn)換十六轉(zhuǎn)換(0.90)(0.90)1010=(?)=(?)1616 0.9014.40整數(shù)部分為整數(shù)部分為14(E)0.406.40整數(shù)部分為整數(shù)部分為60.40循環(huán)循環(huán) 16 16所以所以(0.90)(0.90)1010(0.E6)(0.E6)1616 對(duì)于混小數(shù),在轉(zhuǎn)換時(shí)可把整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換,然對(duì)于混

34、小數(shù),在轉(zhuǎn)換時(shí)可把整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換,然后并起來(lái)。在小數(shù)轉(zhuǎn)換時(shí)可能出現(xiàn)無(wú)限循環(huán)的情況,因此需要根據(jù)后并起來(lái)。在小數(shù)轉(zhuǎn)換時(shí)可能出現(xiàn)無(wú)限循環(huán)的情況,因此需要根據(jù)精度要求進(jìn)行取舍。精度要求進(jìn)行取舍。3 3二二-八與二八與二-十六轉(zhuǎn)換十六轉(zhuǎn)換 通過(guò)上述討論可知,任何進(jìn)制數(shù)的轉(zhuǎn)換總可以用多項(xiàng)式替代法通過(guò)上述討論可知,任何進(jìn)制數(shù)的轉(zhuǎn)換總可以用多項(xiàng)式替代法或基數(shù)乘除法來(lái)實(shí)現(xiàn)。但是,對(duì)于二或基數(shù)乘除法來(lái)實(shí)現(xiàn)。但是,對(duì)于二-八與二八與二-十六轉(zhuǎn)換來(lái)說(shuō),由十六轉(zhuǎn)換來(lái)說(shuō),由于于8 8和和1616都是都是2 2的整數(shù)次冪,因而轉(zhuǎn)換。的整數(shù)次冪,因而轉(zhuǎn)換。(1) (1) 二二-八進(jìn)制轉(zhuǎn)換八進(jìn)制轉(zhuǎn)換 由于由于2

35、23 3=8=8,因此,因此1 1位八進(jìn)制數(shù)可用位八進(jìn)制數(shù)可用3 3位二進(jìn)制數(shù)來(lái)表示,或者位二進(jìn)制數(shù)來(lái)表示,或者3 3位二進(jìn)制數(shù)可用位二進(jìn)制數(shù)可用1 1位八進(jìn)制數(shù)表示。在轉(zhuǎn)換時(shí),可直接按位進(jìn)行。位八進(jìn)制數(shù)表示。在轉(zhuǎn)換時(shí),可直接按位進(jìn)行。 . 111 010 . 100 1102467001 100 101.010 1002.1454【例例1.101.10】將二進(jìn)制數(shù)將二進(jìn)制數(shù)1100101.0101B1100101.0101B轉(zhuǎn)換成八進(jìn)制數(shù),過(guò)程如下:轉(zhuǎn)換成八進(jìn)制數(shù),過(guò)程如下: 從小數(shù)點(diǎn)開(kāi)始向左和向右每從小數(shù)點(diǎn)開(kāi)始向左和向右每3 3位一組,高位和低位不夠位一組,高位和低位不夠3 3位時(shí)補(bǔ)位時(shí)補(bǔ)

36、0 0,即,即 即即 1100101.0101B=145.24Q1100101.0101B=145.24Q【例例1.111.11】將八進(jìn)制數(shù)將八進(jìn)制數(shù)72.46Q72.46Q轉(zhuǎn)換成二進(jìn)制數(shù),過(guò)程如下:轉(zhuǎn)換成二進(jìn)制數(shù),過(guò)程如下: 即即 72.46Q=111010.100110B72.46Q=111010.100110B 2 2二二-十六進(jìn)制轉(zhuǎn)換十六進(jìn)制轉(zhuǎn)換 由于由于2 24 4=16=16,因此,因此1 1位十六進(jìn)制數(shù)可用位十六進(jìn)制數(shù)可用4 4位二進(jìn)制數(shù)表示,或者位二進(jìn)制數(shù)表示,或者4 4位二位二進(jìn)制數(shù)用進(jìn)制數(shù)用1 1位十六進(jìn)制數(shù)表示。在進(jìn)行二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)位十六進(jìn)制數(shù)表示。在進(jìn)行二

37、進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換時(shí),可直接按位進(jìn)行。換時(shí),可直接按位進(jìn)行。 【例例1.121.12】將二進(jìn)制數(shù)將二進(jìn)制數(shù)101101110.1001001B101101110.1001001B轉(zhuǎn)換成十六進(jìn)制數(shù),轉(zhuǎn)換成十六進(jìn)制數(shù),過(guò)程如下:過(guò)程如下: 從小數(shù)點(diǎn)開(kāi)始向左和向右每從小數(shù)點(diǎn)開(kāi)始向左和向右每4 4位一組,高位和低位不夠位一組,高位和低位不夠4 4位時(shí)補(bǔ)位時(shí)補(bǔ)0 0,即,即 即即 101101110.1001001B=16E.92H101101110.1001001B=16E.92H【例例1.131.13】將十六進(jìn)制數(shù)將十六進(jìn)制數(shù)2B8.A5H2B8.A5H轉(zhuǎn)換成二進(jìn)制數(shù),過(guò)程如下:轉(zhuǎn)換成二進(jìn)

38、制數(shù),過(guò)程如下: 即即 2B8.A5H=1010111000.10100101B2B8.A5H=1010111000.10100101B 0010 1011 1000. 1010 01012B8A.5 0001 0110 1110. 1001 001016E9.21.2.5 1.2.5 十進(jìn)制數(shù)與字符的二進(jìn)制數(shù)表示法十進(jìn)制數(shù)與字符的二進(jìn)制數(shù)表示法 由于計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù)的由于計(jì)算機(jī)只能識(shí)別二進(jìn)制數(shù)的1 1和和0 0,因此十進(jìn)制數(shù),因此十進(jìn)制數(shù)和一些字符必須用一組二進(jìn)制數(shù)來(lái)表示,這組二進(jìn)制數(shù)稱(chēng)和一些字符必須用一組二進(jìn)制數(shù)來(lái)表示,這組二進(jìn)制數(shù)稱(chēng)為這個(gè)十進(jìn)制數(shù)或字符的二進(jìn)制編碼或代碼。最常用的有

39、為這個(gè)十進(jìn)制數(shù)或字符的二進(jìn)制編碼或代碼。最常用的有BCDBCD和和ASCIIASCII碼。碼。1.BCD1.BCD碼碼 BCDBCD碼也稱(chēng)二碼也稱(chēng)二-十進(jìn)制編碼,選用四位二進(jìn)制數(shù)順序十進(jìn)制編碼,選用四位二進(jìn)制數(shù)順序表示的前十個(gè)狀態(tài)來(lái)表示十進(jìn)制數(shù)的,對(duì)應(yīng)關(guān)系如表示的前十個(gè)狀態(tài)來(lái)表示十進(jìn)制數(shù)的,對(duì)應(yīng)關(guān)系如表表1.21.2所示。所示。十進(jìn)制數(shù) 對(duì)應(yīng)的BCD碼 01234567890000000100100011010001010110011110001001102564096000100000010 0101 0110 0100 0000 1001 0110 不難看出,一位不難看出,一位十進(jìn)制數(shù)的二

40、進(jìn)制編碼十進(jìn)制數(shù)的二進(jìn)制編碼與一般四位二進(jìn)制數(shù)完與一般四位二進(jìn)制數(shù)完全一樣,各位的權(quán)從左全一樣,各位的權(quán)從左向右依次為向右依次為8,4,2,1,因此也稱(chēng)為,因此也稱(chēng)為8421碼,碼,是一種是一種“加權(quán)碼加權(quán)碼”或或“權(quán)碼權(quán)碼”。表1-2 BCD碼2 2ASCIIASCII碼碼 ASCIIASCII碼是美國(guó)國(guó)家標(biāo)準(zhǔn)信息交換代碼碼是美國(guó)國(guó)家標(biāo)準(zhǔn)信息交換代碼(American National Standard Code for American National Standard Code for Information InterchangeInformation Interchange),后被

41、國(guó)際標(biāo)準(zhǔn)化組織),后被國(guó)際標(biāo)準(zhǔn)化組織定為國(guó)際標(biāo)準(zhǔn)編碼,是目前普遍使用的一種字符編碼,定為國(guó)際標(biāo)準(zhǔn)編碼,是目前普遍使用的一種字符編碼,采用采用7 7位二進(jìn)制數(shù)進(jìn)行編碼,可表示位二進(jìn)制數(shù)進(jìn)行編碼,可表示128128種數(shù)符和命令,種數(shù)符和命令,如如表表1.31.3所示。所示。 b6b5b4b3b2b1b00000010100111001011101110000NULDLESP0Pp0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw

42、1000BSCAN(8HXhx1001HTEM)9IYIy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDEL表表1.3 ASCII1.3 ASCII碼表碼表 在實(shí)際使用時(shí),在實(shí)際使用時(shí),ASCIIASCII碼常以二進(jìn)制數(shù)或十六進(jìn)制數(shù)的形碼常以二進(jìn)制數(shù)或十六進(jìn)制數(shù)的形式書(shū)寫(xiě)。二進(jìn)制寫(xiě)成式書(shū)寫(xiě)。二進(jìn)制寫(xiě)成b b6 6b b5 5b b4 4b b3 3b b2 2b b1 1b b0 0,例如英文字母,例如英文字母W W的的ASCIIASCII碼碼為為1010111B1010111B,數(shù)符,數(shù)符4 4的的ASCIIASCII碼為碼為0110

43、100B0110100B。若用十六進(jìn)制數(shù)表。若用十六進(jìn)制數(shù)表示,示,W W的的ASCIIASCII碼為碼為57H57H,4 4的的ASCIIASCII碼為碼為34H34H。 由于在計(jì)算機(jī)中,數(shù)據(jù)常以字節(jié)為單位存儲(chǔ)或傳送,由于在計(jì)算機(jī)中,數(shù)據(jù)常以字節(jié)為單位存儲(chǔ)或傳送,ASCIIASCII碼只占低碼只占低7 7位,因此最高位補(bǔ)位,因此最高位補(bǔ)0 0,或者在傳送時(shí)用作奇,或者在傳送時(shí)用作奇/ /偶偶校驗(yàn)位。校驗(yàn)位。 與與ASCIIASCII碼類(lèi)似的還有我國(guó)自己頒布的碼類(lèi)似的還有我國(guó)自己頒布的“信息處理交換用信息處理交換用的七位編字符集的七位編字符集”。 1.2.6 1.2.6 原碼、補(bǔ)碼、反碼及運(yùn)算

44、法則原碼、補(bǔ)碼、反碼及運(yùn)算法則 符合位1010011 01010011 0101001 101010011 1機(jī)器數(shù)機(jī)器數(shù) 在計(jì)算機(jī)中,數(shù)有兩種。一種是無(wú)符號(hào)數(shù),另一種是帶符號(hào)數(shù)。常用在計(jì)算機(jī)中,數(shù)有兩種。一種是無(wú)符號(hào)數(shù),另一種是帶符號(hào)數(shù)。常用最高位作為符號(hào)位,即最高位作為符號(hào)位,即“0 0”表示正數(shù),表示正數(shù),“1 1”表示負(fù)數(shù)。例如:表示負(fù)數(shù)。例如: 這種用這種用“0 0”和和“1 1”作為符號(hào),表示的數(shù)稱(chēng)為機(jī)器數(shù),它所表示的實(shí)際作為符號(hào),表示的數(shù)稱(chēng)為機(jī)器數(shù),它所表示的實(shí)際數(shù)值稱(chēng)為真值。機(jī)器數(shù)有一定的長(zhǎng)度,即字長(zhǎng),因此所表示數(shù)的范圍就有數(shù)值稱(chēng)為真值。機(jī)器數(shù)有一定的長(zhǎng)度,即字長(zhǎng),因此所表示數(shù)

45、的范圍就有一定的限制。比如一定的限制。比如8 8位可表示:位可表示: 最大無(wú)符號(hào)數(shù)為最大無(wú)符號(hào)數(shù)為255255(1111111111111111) 最大帶符號(hào)正數(shù)為最大帶符號(hào)正數(shù)為127127(0111111101111111) 當(dāng)無(wú)符號(hào)數(shù)的值超過(guò)當(dāng)無(wú)符號(hào)數(shù)的值超過(guò)255255或者帶符號(hào)正數(shù)的值超過(guò)或者帶符號(hào)正數(shù)的值超過(guò)127127時(shí),稱(chēng)為溢出。時(shí),稱(chēng)為溢出。 2 2原碼與真值原碼與真值 僅把二進(jìn)制數(shù)的符號(hào)用僅把二進(jìn)制數(shù)的符號(hào)用“0 0” ”或或“1 1” ”表示,這樣的數(shù)稱(chēng)為原碼,記作表示,這樣的數(shù)稱(chēng)為原碼,記作XX原原,而,而X X本身稱(chēng)為真值。若設(shè)機(jī)器字長(zhǎng)為本身稱(chēng)為真值。若設(shè)機(jī)器字長(zhǎng)為n

46、 n,則原碼的定義為:,則原碼的定義為: 其中其中2 2n-1n-1稱(chēng)為模。例如:稱(chēng)為模。例如:X X1 1=+1110010=+1110010, 則則XX1 1 原原=01110010=01110010 X X2 2= =- -01110010111001, 則則XX2 2 原原=10111001=10111001 當(dāng)機(jī)器字長(zhǎng)當(dāng)機(jī)器字長(zhǎng)n=8n=8時(shí)時(shí),+1原原=00000001 - -1原原=10000001 +127原原=01111111 - -127原原=11111111 +0原原=00000000 - -0原原=10000000 X原原= X 0X2n-112n-1+| X | (2

47、n-11)X03.3.補(bǔ)碼與運(yùn)算補(bǔ)碼與運(yùn)算(1) (1) 補(bǔ)碼的概念補(bǔ)碼的概念 人們?cè)趯?duì)表時(shí),可以向前旋轉(zhuǎn),也可以向后倒轉(zhuǎn)。比如現(xiàn)在是下午人們?cè)趯?duì)表時(shí),可以向前旋轉(zhuǎn),也可以向后倒轉(zhuǎn)。比如現(xiàn)在是下午2 2點(diǎn),而你的表指示的是上午點(diǎn),而你的表指示的是上午1010點(diǎn)。這時(shí),可向前旋轉(zhuǎn)點(diǎn)。這時(shí),可向前旋轉(zhuǎn)4 4個(gè)小時(shí);也可以個(gè)小時(shí);也可以向后倒轉(zhuǎn)向后倒轉(zhuǎn)8 8個(gè)小時(shí)。對(duì)于個(gè)小時(shí)。對(duì)于1212小時(shí)計(jì)時(shí)制來(lái)說(shuō),小時(shí)計(jì)時(shí)制來(lái)說(shuō),+4+4和和-8-8是等價(jià)的。因此可是等價(jià)的。因此可以說(shuō),以說(shuō),+4+4是是-8-8相對(duì)于相對(duì)于1212的的“補(bǔ)碼補(bǔ)碼”,1212稱(chēng)為稱(chēng)為“模?!?;或者說(shuō),;或者說(shuō),+4+4和和-8

48、-8相相對(duì)于模對(duì)于模1212互為互為“補(bǔ)數(shù)補(bǔ)數(shù)”。早期的計(jì)算機(jī)常把減法。早期的計(jì)算機(jī)常把減法( (負(fù)數(shù)負(fù)數(shù)) )運(yùn)算轉(zhuǎn)換成相應(yīng)運(yùn)算轉(zhuǎn)換成相應(yīng)補(bǔ)碼的加法運(yùn)算,因此引入補(bǔ)碼的加法運(yùn)算,因此引入“補(bǔ)碼補(bǔ)碼”的概念。設(shè)機(jī)器字長(zhǎng)為的概念。設(shè)機(jī)器字長(zhǎng)為n n,則補(bǔ)碼,則補(bǔ)碼的定義為:的定義為: X補(bǔ)補(bǔ)=X 0X2n-112n | X | 2n-1X0 其中其中2n稱(chēng)為模。例如:稱(chēng)為模。例如:X=+1001101 則則X補(bǔ)補(bǔ)=01001101Y=-0101011 則則Y補(bǔ)補(bǔ)=10101100當(dāng)機(jī)器字長(zhǎng)當(dāng)機(jī)器字長(zhǎng)n=8時(shí),時(shí),+1補(bǔ)補(bǔ)=00000001 -1補(bǔ)補(bǔ)=11111111 +127補(bǔ)補(bǔ)=0111111

49、1 -127補(bǔ)補(bǔ)=10000001 +0補(bǔ)補(bǔ)=-0補(bǔ)補(bǔ)=00000000 補(bǔ)碼的求法可概括為:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)補(bǔ)碼的求法可概括為:正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼是將其原碼除符號(hào)位外,各位變反,末位加碼是將其原碼除符號(hào)位外,各位變反,末位加1。 (2) (2) 補(bǔ)碼運(yùn)算補(bǔ)碼運(yùn)算 在計(jì)算機(jī)設(shè)計(jì)的初期,減法運(yùn)算主要是通過(guò)補(bǔ)碼的加法運(yùn)算來(lái)在計(jì)算機(jī)設(shè)計(jì)的初期,減法運(yùn)算主要是通過(guò)補(bǔ)碼的加法運(yùn)算來(lái)實(shí)現(xiàn)。運(yùn)算法則如下:實(shí)現(xiàn)。運(yùn)算法則如下: 補(bǔ)碼加法補(bǔ)碼加法XX補(bǔ)補(bǔ)+Y+Y補(bǔ)補(bǔ)=X+Y=X+Y補(bǔ)補(bǔ) (mod 2mod 2n n) 其中其中|X|X|、|Y|Y|以及以及|X+Y|X+Y|都小于都小

50、于2 2n-1n-1( (以免溢出以免溢出) )。設(shè)有兩個(gè)數(shù)。設(shè)有兩個(gè)數(shù)X X和和Y Y,則,則XX補(bǔ)補(bǔ)=2=2n n+X+X,YY補(bǔ)補(bǔ)=2=2n n+Y+YXX補(bǔ)補(bǔ)+Y+Y補(bǔ)補(bǔ)=2=2n n+X+2+X+2n n+Y=2+Y=2n+1n+1+(X+Y)=X+Y+(X+Y)=X+Y補(bǔ)補(bǔ) 因此,不管帶符號(hào)的兩數(shù)是正數(shù)還是負(fù)數(shù),其和的補(bǔ)碼等于因此,不管帶符號(hào)的兩數(shù)是正數(shù)還是負(fù)數(shù),其和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和。兩數(shù)補(bǔ)碼之和。 X補(bǔ) = 010010+ Y補(bǔ) = 110001X+Y補(bǔ)=1000011符號(hào)位的進(jìn)位,丟掉解: X補(bǔ) = 101110+ Y補(bǔ) = 110101X+Y補(bǔ)=1100011符號(hào)位的進(jìn)

51、位,丟掉解: 【例例1.141.14】X=+10010X=+10010,Y=-01111Y=-01111,求,求X+YX+Y補(bǔ)補(bǔ) X+YX+Y補(bǔ)補(bǔ)=000011=000011【例例1.151.15】X=-10010X=-10010,Y=-01011Y=-01011,求,求X+YX+Y補(bǔ)補(bǔ) X+YX+Y補(bǔ)補(bǔ)=100011=100011 補(bǔ)碼減法補(bǔ)碼減法補(bǔ)碼減法法則可由補(bǔ)碼加法推出補(bǔ)碼減法法則可由補(bǔ)碼加法推出X-Y=X+(-Y)X-Y=X+(-Y),因此:,因此:X-YX-Y補(bǔ)補(bǔ)=X+(-Y)=X+(-Y)補(bǔ)補(bǔ)=X=X補(bǔ)補(bǔ)+-Y+-Y補(bǔ)補(bǔ)這就是說(shuō),求這就是說(shuō),求X-YX-Y補(bǔ)補(bǔ)實(shí)際上就是求實(shí)際上就

52、是求XX補(bǔ)補(bǔ)與與-Y-Y補(bǔ)補(bǔ)的和。只要求的和。只要求出出-Y-Y補(bǔ)補(bǔ),則,則X-YX-Y補(bǔ)補(bǔ)就可以按補(bǔ)碼加法的法則進(jìn)行。就可以按補(bǔ)碼加法的法則進(jìn)行。不難證明不難證明-Y-Y補(bǔ)補(bǔ)等于等于YY補(bǔ)補(bǔ)的每一位(包括符號(hào)位)按位變反,的每一位(包括符號(hào)位)按位變反,末尾加末尾加1 1?!纠?.16】 X=-0111000,Y=-0010001,求,求X-Y補(bǔ)補(bǔ)解:解:X補(bǔ)補(bǔ)=11001000 Y補(bǔ)補(bǔ)=11101111, -Y補(bǔ)補(bǔ)=00010001 X-Y補(bǔ)補(bǔ)= X補(bǔ)補(bǔ)+-Y補(bǔ)補(bǔ)=110110014.反碼與運(yùn)算反碼與運(yùn)算(1) 反碼的概念反碼的概念 正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼是其符號(hào)用正數(shù)的反碼與

53、原碼相同,負(fù)數(shù)的反碼是其符號(hào)用1表示,其余各表示,其余各位中位中1變?yōu)樽優(yōu)?,0變?yōu)樽優(yōu)?。也就是說(shuō),將其原碼除符號(hào)位外,各位變反。也就是說(shuō),將其原碼除符號(hào)位外,各位變反。設(shè)機(jī)器字長(zhǎng)為設(shè)機(jī)器字長(zhǎng)為n,則反碼的定義為:,則反碼的定義為:X補(bǔ)補(bǔ) = 11001000+ - -Y補(bǔ)補(bǔ) = 00010001X補(bǔ)補(bǔ)+- -Y補(bǔ)補(bǔ) = 11011001 其中其中2 2n n1 1稱(chēng)為模。例如:稱(chēng)為模。例如:X X1 1=+1001101 =+1001101 則則XX1 1 反反=01001101=01001101 X X2 2=-0101011 =-0101011 則則XX2 2 反反=11010100=

54、11010100 當(dāng)機(jī)器字長(zhǎng)當(dāng)機(jī)器字長(zhǎng)n=8n=8時(shí),時(shí),+1+1反反=00000001 -1=00000001 -1反反=11111110=11111110 +127 +127反反=01111111 -127=01111111 -127反反=10000000=10000000 +0 +0反反=00000000 -0=00000000 -0原原=11111111=11111111 反碼的求法可概括為:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼是將反碼的求法可概括為:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼是將其原碼除符號(hào)位外,各位變反。其原碼除符號(hào)位外,各位變反。 X反反= X 0X2n-11(2n1) | X

55、 | (2n-11)X0(2) (2) 反碼運(yùn)算反碼運(yùn)算 與補(bǔ)碼加減法類(lèi)似,反碼運(yùn)算規(guī)則為:與補(bǔ)碼加減法類(lèi)似,反碼運(yùn)算規(guī)則為:X+YX+Y反反=X=X反反+Y+Y反反X-YX-Y反反=X=X反反+-Y+-Y反反其中其中-Y-Y反反等于等于YY反反按位變反。由于反碼以按位變反。由于反碼以2 2n n-1-1為模,所以相為模,所以相加時(shí)如果最高符號(hào)位有進(jìn)位,則該進(jìn)位要加到最低位去,即循加時(shí)如果最高符號(hào)位有進(jìn)位,則該進(jìn)位要加到最低位去,即循環(huán)進(jìn)位。環(huán)進(jìn)位。5.溢出判斷溢出判斷 無(wú)論哪一種數(shù),當(dāng)它的絕對(duì)值超出計(jì)算裝置的范圍時(shí),即發(fā)生溢無(wú)論哪一種數(shù),當(dāng)它的絕對(duì)值超出計(jì)算裝置的范圍時(shí),即發(fā)生溢出。假如運(yùn)算

56、裝置有出。假如運(yùn)算裝置有n位,除去符號(hào)位,還有位,除去符號(hào)位,還有n-1位表示數(shù)量,這樣它位表示數(shù)量,這樣它能表示的最大值為能表示的最大值為2n-1-1。當(dāng)運(yùn)算結(jié)果大于。當(dāng)運(yùn)算結(jié)果大于2n-1-1時(shí)就要溢出一個(gè)時(shí)就要溢出一個(gè)2n-1。它進(jìn)位后,占據(jù)符號(hào)位,從而使運(yùn)算結(jié)果發(fā)生錯(cuò)誤。前面所述符。它進(jìn)位后,占據(jù)符號(hào)位,從而使運(yùn)算結(jié)果發(fā)生錯(cuò)誤。前面所述符號(hào)位的進(jìn)位不是真正的溢出,而是將模丟掉,真正的溢出是指數(shù)值最號(hào)位的進(jìn)位不是真正的溢出,而是將模丟掉,真正的溢出是指數(shù)值最高位的進(jìn)位。高位的進(jìn)位。 溢出一般發(fā)生在兩個(gè)正數(shù)或兩個(gè)負(fù)數(shù)相加時(shí)。溢出的判斷表達(dá)式溢出一般發(fā)生在兩個(gè)正數(shù)或兩個(gè)負(fù)數(shù)相加時(shí)。溢出的判斷

57、表達(dá)式為:為: 溢出溢出=SXSYSS +SXSYSS 另一種表達(dá)式為:另一種表達(dá)式為: 溢出溢出=CSCP 1.2.7 1.2.7 定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù)與浮點(diǎn)數(shù) 一個(gè)十進(jìn)制數(shù)一個(gè)十進(jìn)制數(shù)1234.561234.56可寫(xiě)成可寫(xiě)成0.1234560.12345610104 4。 同樣,二進(jìn)制數(shù)也寫(xiě)成一個(gè)小數(shù)和一個(gè)以同樣,二進(jìn)制數(shù)也寫(xiě)成一個(gè)小數(shù)和一個(gè)以2 2為底的整數(shù)次冪的為底的整數(shù)次冪的乘積形式。例如乘積形式。例如: :1101.0111101.011可寫(xiě)成可寫(xiě)成0.11010110.11010112 2100100。 對(duì)于一般形式,則有:對(duì)于一般形式,則有:N=2N=2J JS S N N為任

58、意二進(jìn)制數(shù),為任意二進(jìn)制數(shù),S S是二進(jìn)制純小數(shù),稱(chēng)為尾數(shù);是二進(jìn)制純小數(shù),稱(chēng)為尾數(shù);J J是二進(jìn)制是二進(jìn)制整數(shù),稱(chēng)為階碼。尾數(shù)整數(shù),稱(chēng)為階碼。尾數(shù)S S表示二進(jìn)制數(shù)表示二進(jìn)制數(shù)N N的全部有效數(shù)字,階碼的全部有效數(shù)字,階碼J J表表明小數(shù)點(diǎn)的位置。明小數(shù)點(diǎn)的位置。 如果階碼固定不變,則稱(chēng)為定點(diǎn)表示法,這樣的數(shù)稱(chēng)如果階碼固定不變,則稱(chēng)為定點(diǎn)表示法,這樣的數(shù)稱(chēng)為定點(diǎn)數(shù)。如果階碼可取不同的值,則稱(chēng)為浮點(diǎn)表示法為定點(diǎn)數(shù)。如果階碼可取不同的值,則稱(chēng)為浮點(diǎn)表示法,這樣的數(shù)稱(chēng)為浮點(diǎn)數(shù)。,這樣的數(shù)稱(chēng)為浮點(diǎn)數(shù)。(1) (1) 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示 在定點(diǎn)表示法中,由于階碼固定不變,因此可以省在定點(diǎn)表示法中

59、,由于階碼固定不變,因此可以省去。通常階碼取去。通常階碼取0(0(即純小數(shù)即純小數(shù)) ),或者階碼取,或者階碼取n-1(n-1(即整數(shù)即整數(shù)) )。例如定點(diǎn)數(shù)例如定點(diǎn)數(shù)N=1010111N=1010111的表示格式的表示格式如圖如圖1.11.1所示。所示。符號(hào)數(shù)值圖1.1 定點(diǎn)數(shù)格式尾數(shù)圖1.2 浮點(diǎn)數(shù)格式階碼符號(hào)階碼尾數(shù)符號(hào)(2) (2) 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示 在浮點(diǎn)表示法中,階碼可取不同的值,但在一個(gè)計(jì)算裝置中在浮點(diǎn)表示法中,階碼可取不同的值,但在一個(gè)計(jì)算裝置中往 往 有 固 定 的 格 式 。 若 設(shè) 階 碼往 往 有 固 定 的 格 式 。 若 設(shè) 階 碼 2 2 位 , 尾 數(shù)位

60、 , 尾 數(shù) 4 4 位 , 比 如位 , 比 如N=2N=210100.10100.1010,其表示格式如圖,其表示格式如圖1.21.2所示。所示。 NS 1010111JS 10SS 10101.3 1.3 邏輯代數(shù)與數(shù)字電路邏輯代數(shù)與數(shù)字電路 1.3.1 1.3.1 邏輯代數(shù)邏輯代數(shù) 1.3.21.3.2門(mén)電路門(mén)電路 1.3.3 1.3.3 觸發(fā)器觸發(fā)器 1.3.4 1.3.4 組合邏輯電路組合邏輯電路 1.3.5 1.3.5 時(shí)序邏輯電路時(shí)序邏輯電路 邏輯代數(shù)是在邏輯代數(shù)是在18491849年由英國(guó)著名數(shù)學(xué)家喬治年由英國(guó)著名數(shù)學(xué)家喬治. .布爾布爾(Geroge (Geroge Boo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論