




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、0單片機原理及應用單片機原理及應用20112011年年9 9月月主講人:張登攀主講人:張登攀 專專 業(yè)業(yè): 車輛工程車輛工程機械類專業(yè)必修課機械類專業(yè)必修課11 1、課程準備、課程準備2 2、微型計算機基礎、微型計算機基礎4 4、微機系統(tǒng)接口擴展、微機系統(tǒng)接口擴展3 3、微機系統(tǒng)應用程序設計、微機系統(tǒng)應用程序設計5 5、微機系統(tǒng)通信接口、微機系統(tǒng)通信接口6 6、人及交互接口、人及交互接口2 微型計算機是一種能對信息加工處理的機器,它具有記微型計算機是一種能對信息加工處理的機器,它具有記憶、判斷和運算能力,能仿效人類的思維活動,代替人的部憶、判斷和運算能力,能仿效人類的思維活動,代替人的部分腦力
2、勞動,并能對生產(chǎn)過程實施某種控制等等。分腦力勞動,并能對生產(chǎn)過程實施某種控制等等。1946年,年,美國賓夕法尼亞大學制成世界上第一臺美國賓夕法尼亞大學制成世界上第一臺eniac(electronic numerical integrator and computer)電子計算機以來,電)電子計算機以來,電子計算機經(jīng)歷了電子管、晶體管和集成電路三個發(fā)展時代,子計算機經(jīng)歷了電子管、晶體管和集成電路三個發(fā)展時代,于于20世紀世紀70年代初出現(xiàn)了第一臺微型計算機。年代初出現(xiàn)了第一臺微型計算機。 最初的計算機只是作為一種現(xiàn)代化的計算工具,而現(xiàn)在最初的計算機只是作為一種現(xiàn)代化的計算工具,而現(xiàn)在微型計算機的
3、應用領域已廣泛滲透到國民經(jīng)濟的各個領域和微型計算機的應用領域已廣泛滲透到國民經(jīng)濟的各個領域和人民生活的各個方面,在信息社會中彰顯出日益重要的地位,人民生活的各個方面,在信息社會中彰顯出日益重要的地位,其科學水平、生產(chǎn)規(guī)模和應用程度已成為衡量一個國家現(xiàn)代其科學水平、生產(chǎn)規(guī)模和應用程度已成為衡量一個國家現(xiàn)代化水平的重要標志?;降闹匾獦酥尽?。 31.1 微型計算機的組成體系微型計算機的組成體系1. 1. 微型化計算機裝置微型化計算機裝置 以微處理器為核心,配置輔助電路(如以微處理器為核心,配置輔助電路(如ram、rom、i/o接口電路)而構(gòu)成的微型化的計算機裝置(簡稱接口電路)而構(gòu)成的微型化的
4、計算機裝置(簡稱c),),它是具有完成運行功能的計算機它是具有完成運行功能的計算機 。 2. 2. 單片微型計算機單片微型計算機 由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器功能部件:中央處理器cpu,存儲器和,存儲器和i/o接口電路等,只接口電路等,只需要與適當?shù)能浖屯獠吭O備相結(jié)合,便可成為微機控制需要與適當?shù)能浖屯獠吭O備相結(jié)合,便可成為微機控制系統(tǒng)系統(tǒng) 。 41.1.1 1.1.1 微型計算機的發(fā)展微型計算機的發(fā)展 1. 1. 微處理器技術(shù)的發(fā)展微處理器技術(shù)的發(fā)展 第一代,第一代,1971年年10月,美國月,美國int
5、el公司首先推出公司首先推出intel4004微處理器。微處理器進入微處理器。微處理器進入4位微處理器和低檔位微處理器和低檔8位微處理器位微處理器的時期。的時期。1972年年3月,月,intel公司又推出公司又推出intel8008微處理器實微處理器實現(xiàn)了現(xiàn)了8位并行運算。位并行運算。 第二代,第二代,1973年開始,以年開始,以8位微處理為主的時期。典型位微處理為主的時期。典型產(chǎn)品有:產(chǎn)品有:1973年年intel8080;1974年年3月,月,motorola公司的公司的mc6800;19751976年,年,zilog公司的公司的z80;1976年,年,intel8085等。等。5第三代,
6、第三代,1978年開始,以年開始,以16位微處理為主的時期。典型產(chǎn)位微處理為主的時期。典型產(chǎn)品有:品有:1978年年intel8086;1979年,年,zilog公司的公司的z8000;1979年,年,motorola公司的公司的mc68000等。等。第四代,第四代,1981年開始,以年開始,以32位微處理為主的時期。典型產(chǎn)位微處理為主的時期。典型產(chǎn)品有:品有:1983年,年,zilog公司的公司的z80000;1984年,年,motorola公公司的司的mc68020;1985年,年,intel公司的公司的80386等。這一時期微等。這一時期微處理器的集成度達到了空前規(guī)模。如處理器的集成度達
7、到了空前規(guī)模。如80386微處理器集成度微處理器集成度為為27.5萬管萬管/片。片。自自intel80386芯片推出以來,又出現(xiàn)了許多高性能的芯片推出以來,又出現(xiàn)了許多高性能的32位和位和64位微處理器,如位微處理器,如motorola的的mc68030、mc68040,amd公司的公司的k6-2、k6-3、k7以及以及intel的的80486、pentium、pentiumii、pentiumiii和和pentium4等產(chǎn)品。等產(chǎn)品。 62. 2. 單片微型計算機的發(fā)展單片微型計算機的發(fā)展 單片微型計算機的發(fā)展,以單片微型計算機的發(fā)展,以intel公司公司1976年推出的年推出的8位位單片機
8、為起點,大體經(jīng)歷了三個歷史階段。單片機為起點,大體經(jīng)歷了三個歷史階段。 1974年,美國仙童(年,美國仙童(fairchild)公司研制出世界上第一)公司研制出世界上第一臺單片微型計算機臺單片微型計算機f8,該機由兩塊集成電路芯片組成,結(jié),該機由兩塊集成電路芯片組成,結(jié)構(gòu)獨特,具有與眾不同的指令系統(tǒng),深受民用電器和儀器構(gòu)獨特,具有與眾不同的指令系統(tǒng),深受民用電器和儀器儀表領域的歡迎和重視。儀表領域的歡迎和重視。 第一代單片微型計算機(第一代單片微型計算機(19761978)。始于)。始于1976年,年,以以mcs-48系列為代表。系列為代表。 第二代單片微型計算機(第二代單片微型計算機(197
9、81982) 。以。以intel公司的公司的mcs-51系列為代表系列為代表 7 第三代單片微型計算機(第三代單片微型計算機(1982) 。技術(shù)特點是全速發(fā)。技術(shù)特點是全速發(fā)展單片微機的控制功能。綜合特點為:展單片微機的控制功能。綜合特點為:(1)發(fā)展非總線型單片微機,并與原有的總線型單片機形)發(fā)展非總線型單片微機,并與原有的總線型單片機形成了兩大派系。為了滿足家電控制器的巨大市場,將單片成了兩大派系。為了滿足家電控制器的巨大市場,將單片機的并行擴展總線省去,推出廉價型單片微機,并盡可能機的并行擴展總線省去,推出廉價型單片微機,并盡可能將一些外圍接口封裝在片內(nèi);將一些外圍接口封裝在片內(nèi);(2)
10、為了滿足不使用并行總線而能擴展各種外圍器件,推)為了滿足不使用并行總線而能擴展各種外圍器件,推出了串行擴展總線。如出了串行擴展總線。如philips的的i2c總線、總線、motorola的的spl、ns公司的公司的microwire/plus的串行外圍接口等;的串行外圍接口等;(3)發(fā)展具有良好控制功能的控制網(wǎng)絡總線,以實現(xiàn)串行)發(fā)展具有良好控制功能的控制網(wǎng)絡總線,以實現(xiàn)串行通信總線難以構(gòu)成的多主強控制功能的網(wǎng)絡系統(tǒng)。例如汽通信總線難以構(gòu)成的多主強控制功能的網(wǎng)絡系統(tǒng)。例如汽車電子系統(tǒng)中采用的車電子系統(tǒng)中采用的can總線??偩€。81.1.2 1.1.2 微型計算機的分類機主流系列微型計算機的分類
11、機主流系列1. 1. 單片微機的分類單片微機的分類 20世紀世紀80年代以來,各大電氣及半導體器件廠商紛紛年代以來,各大電氣及半導體器件廠商紛紛推出自己的產(chǎn)品系列。迄今為止,市場上的單片微機產(chǎn)品推出自己的產(chǎn)品系列。迄今為止,市場上的單片微機產(chǎn)品已達已達60多個系列,多個系列,600余個品種。余個品種。 從不同的角度有不同的分法。從運算位長短分,可分為從不同的角度有不同的分法。從運算位長短分,可分為4位、位、8位、位、16位、位、32位等微機種類位等微機種類;從使用場合的不同,;從使用場合的不同,可分為高端單片機和低端單片機;從應用領域分,可分為可分為高端單片機和低端單片機;從應用領域分,可分為
12、家電類單片機、工控類單片機、通信類單片機、軍工類單家電類單片機、工控類單片機、通信類單片機、軍工類單片機;按是否通用分,有通用型單片機和專用型單片機。片機;按是否通用分,有通用型單片機和專用型單片機。 數(shù)據(jù)處理位數(shù)是單片微機的重要標志,因此重數(shù)據(jù)處理位數(shù)是單片微機的重要標志,因此重點討論。點討論。9(1) 4(1) 4位單片機位單片機 4位單片微型計算機的控制功能較弱,位單片微型計算機的控制功能較弱,cpu一次只能處一次只能處理理4位二進制。這類單片微機常用于計算器、各種形態(tài)的智位二進制。這類單片微機常用于計算器、各種形態(tài)的智能單元以及作為家用電器中的控制器。典型產(chǎn)品有美國能單元以及作為家用電
13、器中的控制器。典型產(chǎn)品有美國ns(national semiconductor)公司的)公司的cop4系列、系列、toshiba公司的公司的tmp47系列以及系列以及panasonic公司的公司的mn1400系列單片微機。系列單片微機。 (2) 8(2) 8位單片機位單片機 8位單片微型計算機的控制功能較強,品種最為齊全。位單片微型計算機的控制功能較強,品種最為齊全。對比對比4位單片微機,它不僅具有較大的存儲容量和尋址范圍,位單片微機,它不僅具有較大的存儲容量和尋址范圍,而且中斷源、并行而且中斷源、并行i/o接口和定時器接口和定時器/計數(shù)器個數(shù)都有了不同計數(shù)器個數(shù)都有了不同程度的增加,并集成有
14、全雙工串行通訊接口。程度的增加,并集成有全雙工串行通訊接口。 其他還有其他還有1616位和位和3232位單片機等類型,根據(jù)需要自行選定。位單片機等類型,根據(jù)需要自行選定。102. 2. 單片微型計算機的主流系列單片微型計算機的主流系列 市場上流行的單片微型計算機種類很多,主要有:美國市場上流行的單片微型計算機種類很多,主要有:美國的的intel、motorola、zilog、ns、microchip、atmel和和ti公公司,日本的司,日本的nec(日電)、(日電)、toshiba(東芝)、(東芝)、fujitsu(富(富士通)和士通)和hitachi(日立)公司,荷蘭的(日立)公司,荷蘭的p
15、hilips,英國的,英國的inmos和德國的和德國的siemens(西門子)公司等等。(西門子)公司等等。 (1) intel(1) intel公司的單片微機公司的單片微機 mcs-51系列單片機是系列單片機是intel公司公司1980年推出的年推出的8位單片機。位單片機。80c51是是mcs-51系列中的一個子系列,是一族高性能兼容系列中的一個子系列,是一族高性能兼容型單片機,型單片機,siemens、philips等公司在等公司在80c51基礎上推出了基礎上推出了與與80c51兼容的新型單片機統(tǒng)稱兼容的新型單片機統(tǒng)稱80c51系列。系列。11(2) freescale(2) freesc
16、ale公司的單片微機公司的單片微機 freescale是世界上最大的單片機廠商,是世界上最大的單片機廠商,2004年由年由motorola公司半導體部更名為公司半導體部更名為freescale semiconductor,并獨并獨立運行。立運行。 freescale單片機的特點之一是在同樣的速度下所單片機的特點之一是在同樣的速度下所用的時鐘頻率較用的時鐘頻率較intel類單片機低得多,因而使得高頻噪聲類單片機低得多,因而使得高頻噪聲低,抗干擾能力強,更適合于工控領域及惡劣的環(huán)境。低,抗干擾能力強,更適合于工控領域及惡劣的環(huán)境。(3 3)atmelatmel公司的單片微機公司的單片微機 美國美國
17、atmel公司是世界上著名的高性能、低功耗、非易公司是世界上著名的高性能、低功耗、非易失性存儲器和數(shù)字集成電路的一流半導體制造公司。失性存儲器和數(shù)字集成電路的一流半導體制造公司。atmel公司最令人注目的是公司最令人注目的是e2prom和閃存(和閃存(flash)存儲器技術(shù),)存儲器技術(shù),一直處在世界領先地位。該公司把一直處在世界領先地位。該公司把e2prom和和flash存儲器存儲器技術(shù)巧妙地運用于單片機,并采用多種封裝形式和高標準技術(shù)巧妙地運用于單片機,并采用多種封裝形式和高標準質(zhì)量檢測。質(zhì)量檢測。121.1.3 1.1.3 微型計算機的組成原理微型計算機的組成原理 20世紀世紀80年代以
18、來,各大電氣及半導體器件廠商紛紛年代以來,各大電氣及半導體器件廠商紛紛推出自己的產(chǎn)品系列。迄今為止,市場上的單片微機產(chǎn)品推出自己的產(chǎn)品系列。迄今為止,市場上的單片微機產(chǎn)品已達已達60多個系列,多個系列,600余個品種。余個品種。1. 1. 以微處理器為中心的微型計算機系統(tǒng)以微處理器為中心的微型計算機系統(tǒng) 以微處理器為中心的微型計算機系統(tǒng)是在中小型計算以微處理器為中心的微型計算機系統(tǒng)是在中小型計算機基礎上發(fā)展起來的,并以大規(guī)模集成電路技術(shù)為條件的機基礎上發(fā)展起來的,并以大規(guī)模集成電路技術(shù)為條件的一種新型計算機,和其他計算機相比,其最大特點是采用一種新型計算機,和其他計算機相比,其最大特點是采用總
19、線結(jié)構(gòu),其中三總線結(jié)構(gòu)尤為普遍,目前已成為微型計總線結(jié)構(gòu),其中三總線結(jié)構(gòu)尤為普遍,目前已成為微型計算機的一種結(jié)構(gòu)。算機的一種結(jié)構(gòu)。 13 微處理器微處理器mpu是通過是通過ab、db和和cb三總線同外圍的大三總線同外圍的大規(guī)模集成電路規(guī)模集成電路rom存儲器、存儲器、ram存儲器及存儲器及i/o接口電路相接口電路相連進行工作的。連進行工作的。 14 微處理器是微型計算機的微處理器是微型計算機的cpu(central processing unit),具有運算器和控制器的功能,因而它是組成微型計),具有運算器和控制器的功能,因而它是組成微型計算機的核心部件。微處理器內(nèi)部結(jié)構(gòu)極其復雜,從功能上看,
20、算機的核心部件。微處理器內(nèi)部結(jié)構(gòu)極其復雜,從功能上看,主要分三大部分運算器、控制器和寄存器組。主要分三大部分運算器、控制器和寄存器組。 (2 2)romrom和和ramram存儲器存儲器 rom和和ram是半導體存儲器。是半導體存儲器。rom(read only memory)存儲器是一種在正常工作時只能讀不能寫的存儲)存儲器是一種在正常工作時只能讀不能寫的存儲器,故它通常用來存放固定程序和常數(shù)。器,故它通常用來存放固定程序和常數(shù)。ram(random access memory)存儲器是一種在正常工作時既能讀又能寫)存儲器是一種在正常工作時既能讀又能寫的存儲器,通常用來存放原始數(shù)據(jù)、中間結(jié)果
21、、最終結(jié)果和的存儲器,通常用來存放原始數(shù)據(jù)、中間結(jié)果、最終結(jié)果和實時數(shù)據(jù)等。實時數(shù)據(jù)等。ram中存入的信息不能長久保存,停電后便中存入的信息不能長久保存,停電后便立即消失,故它又稱為易失性存儲器。立即消失,故它又稱為易失性存儲器。(1 1)微處理器)微處理器mpumpu 微處理器是微型計算機的微處理器是微型計算機的cpu(central processing unit),具有運算器和控制器的功能,因而它是組成微型計),具有運算器和控制器的功能,因而它是組成微型計算機的核心部件。微處理器內(nèi)部結(jié)構(gòu)極其復雜,從功能上看,算機的核心部件。微處理器內(nèi)部結(jié)構(gòu)極其復雜,從功能上看,主要分三大部分運算器、控制
22、器和寄存器組。主要分三大部分運算器、控制器和寄存器組。 15(3 3)i/oi/o接口電路接口電路 微型計算機通過微型計算機通過i/o接口電路與各種外部設備相連,而接口電路與各種外部設備相連,而總線是總線是cpu和存儲器、和存儲器、i/o接口電路之間信息傳輸?shù)耐ǖ馈=涌陔娐分g信息傳輸?shù)耐ǖ馈?62. 2. 以單片微機為中心的微型計算機系統(tǒng)以單片微機為中心的微型計算機系統(tǒng) 單片微型計算機由單塊集成電路芯片構(gòu)成,內(nèi)部包含單片微型計算機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中央處理器有計算機的基本功能部件:中央處理器cpu、存儲器和、存儲器和i/o接口電路等,因此單片微型計算機只
23、需要和適當?shù)能浖敖涌陔娐返?,因此單片微型計算機只需要和適當?shù)能浖巴獠吭O備相結(jié)合,便可成為一個計算機應用系統(tǒng)。外部設備相結(jié)合,便可成為一個計算機應用系統(tǒng)。17(1 1)中央處理器)中央處理器cpucpu cpu是單片機的核心部分,通常由運算器、控制器和中是單片機的核心部分,通常由運算器、控制器和中斷電路等組成。斷電路等組成。cpu進行算術(shù)運算和邏輯操作的字長同樣有進行算術(shù)運算和邏輯操作的字長同樣有4位、位、8位、位、16位和位和32位之分,字長越長運算速度越快。位之分,字長越長運算速度越快。(2 2)存儲器)存儲器 單片微型計算機中,單片微型計算機中,rom和和ram存儲器是分開制造的。存儲
24、器是分開制造的。 rom存儲器用于存放應用程序,故又稱為程序存儲器。存儲器用于存放應用程序,故又稱為程序存儲器。目前,單片微型計算機根據(jù)片內(nèi)目前,單片微型計算機根據(jù)片內(nèi)rom的結(jié)構(gòu),可分為無的結(jié)構(gòu),可分為無rom型、型、rom型和型和eprom型三類,常用常見的是新出現(xiàn)型三類,常用常見的是新出現(xiàn)的具有的具有e2rom和和flash型型rom存儲器的產(chǎn)品。存儲器的產(chǎn)品。 ram存儲器主要用來存放實時數(shù)據(jù)或作為通用寄存器、存儲器主要用來存放實時數(shù)據(jù)或作為通用寄存器、數(shù)據(jù)堆棧和數(shù)據(jù)緩沖器之用。數(shù)據(jù)堆棧和數(shù)據(jù)緩沖器之用。18(3 3)i/oi/o接口和特殊功能部件接口和特殊功能部件 i/o接口電路有串
25、行和并行兩種。串行接口電路有串行和并行兩種。串行i/o用于串行通信,用于串行通信,它可以把單片機內(nèi)部的并行它可以把單片機內(nèi)部的并行8位數(shù)據(jù)(位機)變成串行數(shù)位數(shù)據(jù)(位機)變成串行數(shù)據(jù)向外傳送,也可以串行接收外部送來的數(shù)據(jù)并把它們變成據(jù)向外傳送,也可以串行接收外部送來的數(shù)據(jù)并把它們變成并行數(shù)據(jù)送給并行數(shù)據(jù)送給cpu處理。并行處理。并行i/o電路可以使單片微型計算電路可以使單片微型計算機和存儲器或外設之間并行地傳送機和存儲器或外設之間并行地傳送8位數(shù)據(jù)(位數(shù)據(jù)(8位機)。位機)。 特殊功能部件指單片微型計算機集成的定時器特殊功能部件指單片微型計算機集成的定時器/計數(shù)器、計數(shù)器、a/d和和d/a、d
26、ma通道等電路。定時器通道等電路。定時器/計數(shù)器用于產(chǎn)生定時計數(shù)器用于產(chǎn)生定時脈沖,以實現(xiàn)單片機的定時控制;脈沖,以實現(xiàn)單片機的定時控制;a/d和和d/a轉(zhuǎn)換器用于模轉(zhuǎn)換器用于模擬量和數(shù)字量之間的相互轉(zhuǎn)換,以完成實時數(shù)據(jù)的采集和控擬量和數(shù)字量之間的相互轉(zhuǎn)換,以完成實時數(shù)據(jù)的采集和控制;制;dma通道可以使單片機和外設之間實現(xiàn)數(shù)據(jù)的快速傳通道可以使單片機和外設之間實現(xiàn)數(shù)據(jù)的快速傳送。因此,單片微型計算機集成的特殊功能部件及其數(shù)量與送。因此,單片微型計算機集成的特殊功能部件及其數(shù)量與產(chǎn)品的型號有關(guān)。產(chǎn)品的型號有關(guān)。191.1 微型計算機的數(shù)制及其轉(zhuǎn)換微型計算機的數(shù)制及其轉(zhuǎn)換 計算機最基本的功能是對
27、計算機最基本的功能是對“數(shù)據(jù)數(shù)據(jù)”進行運算處理。數(shù)據(jù)進行運算處理。數(shù)據(jù)是計算機操作的對象,一般可分為數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)。是計算機操作的對象,一般可分為數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)。數(shù)值數(shù)據(jù)用于表示數(shù)量的大小,它有確定的數(shù)值;非數(shù)值數(shù)數(shù)值數(shù)據(jù)用于表示數(shù)量的大小,它有確定的數(shù)值;非數(shù)值數(shù)據(jù)沒有確定的數(shù)值,它主要包括字符、漢字、邏輯數(shù)據(jù)等。據(jù)沒有確定的數(shù)值,它主要包括字符、漢字、邏輯數(shù)據(jù)等。數(shù)值數(shù)據(jù)的正負、大小、小數(shù)點如何表示為二進制形式,非數(shù)值數(shù)據(jù)的正負、大小、小數(shù)點如何表示為二進制形式,非數(shù)值數(shù)據(jù)如何表示為二進制形式,數(shù)據(jù)表示為二進制信息后,數(shù)值數(shù)據(jù)如何表示為二進制形式,數(shù)據(jù)表示為二進制信息后,如何對
28、數(shù)據(jù)進行運算,運算結(jié)果是否會溢出等一系列問題需如何對數(shù)據(jù)進行運算,運算結(jié)果是否會溢出等一系列問題需要進行詳細討論。要進行詳細討論。201 1十進制十進制 一種數(shù)制最基本的特征是它的基數(shù),基數(shù)是指數(shù)制中表示一種數(shù)制最基本的特征是它的基數(shù),基數(shù)是指數(shù)制中表示數(shù)值的數(shù)碼個數(shù)。日常生活中,人們習慣使用十進制,它有數(shù)值的數(shù)碼個數(shù)。日常生活中,人們習慣使用十進制,它有10個符號個符號0,1,2,3,4,5,6,7,8,9,即十進制有,即十進制有10個個數(shù)碼,基數(shù)為數(shù)碼,基數(shù)為10。它的計數(shù)規(guī)則是。它的計數(shù)規(guī)則是“逢十進一,借一當十逢十進一,借一當十”。 數(shù)的表示法一般采用位置計數(shù)法。每一個數(shù)碼和數(shù)碼數(shù)的表
29、示法一般采用位置計數(shù)法。每一個數(shù)碼和數(shù)碼所在的位置載有該數(shù)大小的數(shù)值稱為所在的位置載有該數(shù)大小的數(shù)值稱為“權(quán)權(quán)”。每個位置的。每個位置的“權(quán)權(quán)”可以用基數(shù)的乘方表示。如數(shù)可以用基數(shù)的乘方表示。如數(shù)(53891)10可表示為:可表示為: 53891104103102101100萬千百十個按位權(quán)展開表示為:按位權(quán)展開表示為: 53891=5104+3103+8102+9101+110021十進制小數(shù)的位權(quán)是以十進制小數(shù)的位權(quán)是以10的負次方冪表示的,的負次方冪表示的, 如如10-1=0.1,10-2=0.01。所以有所以有n位整數(shù)和位整數(shù)和m位小數(shù)十進制數(shù)位小數(shù)十進制數(shù)d(decimal numb
30、er)用用按權(quán)展開表示為:按權(quán)展開表示為:122110011221110121101010.10101010.1010.nmiiimmnnnnmnnddddddddddddddd9,.,1 , 0idm和和n取正整數(shù)。取正整數(shù)。 222 2二進制二進制二進制的基為二進制的基為“2”,數(shù)字符號為,數(shù)字符號為0和和1,其計算規(guī)則為,其計算規(guī)則為“逢二逢二進一,借一當二進一,借一當二”。二進制各位的權(quán)是以。二進制各位的權(quán)是以2為底的冪,例如數(shù)為底的冪,例如數(shù)(10111)2可表示為:可表示為:二進制10111權(quán)2423222120十進制168421任意二進制數(shù)任意二進制數(shù)b(binary numbe
31、r)按權(quán)位展開為:按權(quán)位展開為: 122110011221110121222.2222.22.nmiiimmnnnnmnnbbbbbbbbbbbbbbb1 , 0ib2 2二進制二進制233 3八進制八進制 八進制的基為八進制的基為“8”,對應的數(shù)字符號共有,對應的數(shù)字符號共有8個:個:0,1,2,3,4,5,6,7,其計算規(guī)則為,其計算規(guī)則為“逢八進一,借一當八逢八進一,借一當八”。八。八進制各位的權(quán)是以進制各位的權(quán)是以8為底的冪,八進制數(shù)按權(quán)展開的計算方法為底的冪,八進制數(shù)按權(quán)展開的計算方法同十進制和二進制,例如數(shù)同十進制和二進制,例如數(shù)(362)8按權(quán)展開為:按權(quán)展開為:(362)8=3
32、82+681+1803 3八進制八進制4 4十六進制十六進制 十六進制的基為十六進制的基為“16”,對應的數(shù)字符號共有,對應的數(shù)字符號共有16個:個:0,1,2,9,a,b,c,d,e,f,其計算規(guī)則為,其計算規(guī)則為“逢十六逢十六進一,借一當十六進一,借一當十六”。十六進制各位的權(quán)是以。十六進制各位的權(quán)是以16為底的冪,為底的冪,十六進制數(shù)按權(quán)展開的計算方法同十進制和二進制,例如數(shù)十六進制數(shù)按權(quán)展開的計算方法同十進制和二進制,例如數(shù)(362)16按權(quán)展開為:按權(quán)展開為: (362)16=3162+6161+116024各數(shù)制的數(shù)碼對照表各數(shù)制的數(shù)碼對照表二進制、八進制、十進制、十六進制數(shù)碼對照
33、表二進制、八進制、十進制、十六進制數(shù)碼對照表十進制數(shù)十六進制數(shù)八進制數(shù)二進制數(shù)十進制數(shù)十六進制數(shù)八進制數(shù)二進制數(shù)000000099111001111000110a121010222001011b131011333001112c141100444010013d151101555010114e161110666011015f1711117770111161020100008810100025 在編寫計算機程序時,數(shù)據(jù)的書寫可以用各種計數(shù)制來在編寫計算機程序時,數(shù)據(jù)的書寫可以用各種計數(shù)制來表示,為了區(qū)別不同的計數(shù)制,可以在數(shù)的右下角用數(shù)字標表示,為了區(qū)別不同的計數(shù)制,可以在數(shù)的右下角用數(shù)字標注該數(shù)的
34、數(shù)制,例如,八進制數(shù)注該數(shù)的數(shù)制,例如,八進制數(shù)342.32可以寫成可以寫成(342.32)8。此外,還可以采用數(shù)據(jù)加后綴作標識:此外,還可以采用數(shù)據(jù)加后綴作標識:d后綴表示十進制(后綴表示十進制(decimal),如),如3438d表示十進制數(shù)表示十進制數(shù)3468;b后綴表示二進制(后綴表示二進制(binary),如),如0111 0101b表示二進制數(shù)表示二進制數(shù)0111 0101;o后綴表示八進制(后綴表示八進制(octal),如),如2632o表示八進制數(shù)表示八進制數(shù)2632,由于由于o容易與容易與0相混淆,統(tǒng)常用相混淆,統(tǒng)常用q代替;代替;h后綴表示十六進制(后綴表示十六進制(hex
35、adecimal),如),如96a7bh表示十六表示十六進制數(shù)進制數(shù)96a7b。261.2.2 1.2.2 微型計算機數(shù)制之間的轉(zhuǎn)換微型計算機數(shù)制之間的轉(zhuǎn)換 人們習慣使用十進制,但人們習慣使用十進制,但計算機的算術(shù)運算和邏輯運算是以計算機的算術(shù)運算和邏輯運算是以二進制為基礎的運算二進制為基礎的運算,因此在解決問題時,需要把問題變成,因此在解決問題時,需要把問題變成計算機能夠計算機能夠“理解理解”的形式,這就的形式,這就需要把十進制數(shù)轉(zhuǎn)換成二需要把十進制數(shù)轉(zhuǎn)換成二進制代碼進制代碼。當計算機運算完畢時,又需要把獲得的二進制結(jié)。當計算機運算完畢時,又需要把獲得的二進制結(jié)果轉(zhuǎn)換為十進制數(shù),以滿足人們的
36、工作習慣。果轉(zhuǎn)換為十進制數(shù),以滿足人們的工作習慣。二進制數(shù)通常二進制數(shù)通常位數(shù)多,書寫麻煩,而十六進制數(shù)易于書寫位數(shù)多,書寫麻煩,而十六進制數(shù)易于書寫,在編程時多為,在編程時多為人們采用。人們采用。 在應用中,同一個數(shù)據(jù)在不同場合需要用不同的數(shù)制在應用中,同一個數(shù)據(jù)在不同場合需要用不同的數(shù)制來表示,不同進制數(shù)在計算過程中完成相應轉(zhuǎn)換,轉(zhuǎn)來表示,不同進制數(shù)在計算過程中完成相應轉(zhuǎn)換,轉(zhuǎn)換前后兩數(shù)應相等。換前后兩數(shù)應相等。271 1各類進制數(shù)轉(zhuǎn)換為十進制數(shù)各類進制數(shù)轉(zhuǎn)換為十進制數(shù) 轉(zhuǎn)換方法:直接按位權(quán)展開,并求和。轉(zhuǎn)換計算如下:轉(zhuǎn)換方法:直接按位權(quán)展開,并求和。轉(zhuǎn)換計算如下: 1nmiiirran例
37、例1 將二進制數(shù)將二進制數(shù)111.11轉(zhuǎn)換成十進制數(shù)。計算過程如下:轉(zhuǎn)換成十進制數(shù)。計算過程如下:10210122)75. 7(25. 05 . 01242121212121)11.111(28將十六進制數(shù)將十六進制數(shù)61.b轉(zhuǎn)換成十進制數(shù)。計算過程如下:轉(zhuǎn)換成十進制數(shù)。計算過程如下:10110116)97.6875(161119616b161166)b.61(2 2十進制數(shù)轉(zhuǎn)換為其他進制數(shù)十進制數(shù)轉(zhuǎn)換為其他進制數(shù) (1 1)十進制數(shù)轉(zhuǎn)換二進制數(shù))十進制數(shù)轉(zhuǎn)換二進制數(shù) 十進制數(shù)通常分為整數(shù)部分和小數(shù)部分,轉(zhuǎn)換時要分十進制數(shù)通常分為整數(shù)部分和小數(shù)部分,轉(zhuǎn)換時要分別進行計算。別進行計算。29 整數(shù)
38、部分的轉(zhuǎn)換方法整數(shù)部分的轉(zhuǎn)換方法為為“除除2取余數(shù),結(jié)果倒排取余數(shù),結(jié)果倒排序序”,即將整數(shù)部分除以,即將整數(shù)部分除以2,得到整數(shù)商和余數(shù),對商,得到整數(shù)商和余數(shù),對商再除以再除以2,又得到商和余數(shù),繼續(xù)這一過程,直到商等,又得到商和余數(shù),繼續(xù)這一過程,直到商等于于0為止,在將所得的一系列余數(shù)按逆序排列,即得到為止,在將所得的一系列余數(shù)按逆序排列,即得到整數(shù)部分對應的二進制數(shù)。整數(shù)部分對應的二進制數(shù)。 小數(shù)部分的轉(zhuǎn)換方法為小數(shù)部分的轉(zhuǎn)換方法為“乘乘2取整數(shù),結(jié)果順排取整數(shù),結(jié)果順排列列”,即將小數(shù)部分乘以,即將小數(shù)部分乘以2,乘積保留整數(shù)部分,再將,乘積保留整數(shù)部分,再將所得乘積小數(shù)部分乘以所
39、得乘積小數(shù)部分乘以2,再保留整數(shù)部分,繼續(xù)這一,再保留整數(shù)部分,繼續(xù)這一過程,直到達到有效位數(shù)或小數(shù)部分等于零為止,然后過程,直到達到有效位數(shù)或小數(shù)部分等于零為止,然后將所得的整數(shù)部分按順序排列,即得到小數(shù)部分對應的將所得的整數(shù)部分按順序排列,即得到小數(shù)部分對應的二進制數(shù)。二進制數(shù)。 將整數(shù)部分和小數(shù)部分所得的二進制數(shù)合起來將整數(shù)部分和小數(shù)部分所得的二進制數(shù)合起來,便,便得到轉(zhuǎn)換后的二進制數(shù)。小數(shù)部分轉(zhuǎn)換中,乘積的小數(shù)得到轉(zhuǎn)換后的二進制數(shù)。小數(shù)部分轉(zhuǎn)換中,乘積的小數(shù)部分常常是總不為零,二進制小數(shù)的位數(shù)可能很多,轉(zhuǎn)部分常常是總不為零,二進制小數(shù)的位數(shù)可能很多,轉(zhuǎn)換時可以根據(jù)精度要求,取一定的位數(shù)
40、即可。換時可以根據(jù)精度要求,取一定的位數(shù)即可。 30例例3 將將(41.495)10轉(zhuǎn)換為二進制數(shù)。轉(zhuǎn)換為二進制數(shù)。解解 1)先將整數(shù)部分轉(zhuǎn)換為二進制數(shù),計算過程如下:)先將整數(shù)部分轉(zhuǎn)換為二進制數(shù),計算過程如下:因此有因此有 (41)10=(101001)2。312)小數(shù)部分轉(zhuǎn)換為二進制數(shù),計算過程如下:)小數(shù)部分轉(zhuǎn)換為二進制數(shù),計算過程如下: 因此有因此有 (0.495)10=(0.0111)2。綜合起來,得綜合起來,得 (41.495)10=(101001.0111)2。 32(2 2)十進制數(shù)轉(zhuǎn)換為任意進制數(shù))十進制數(shù)轉(zhuǎn)換為任意進制數(shù) 把十進制轉(zhuǎn)換為任意進制數(shù)的方法和十進制轉(zhuǎn)換成把十進制
41、轉(zhuǎn)換為任意進制數(shù)的方法和十進制轉(zhuǎn)換成二進制數(shù)相似,整數(shù)部分采用除以基數(shù)取余數(shù)的方法,二進制數(shù)相似,整數(shù)部分采用除以基數(shù)取余數(shù)的方法,然后倒排序;小數(shù)部分是乘以基數(shù)得整數(shù)的方法,然后然后倒排序;小數(shù)部分是乘以基數(shù)得整數(shù)的方法,然后順排序,最后再將其結(jié)果分別排列在一起即可。順排序,最后再將其結(jié)果分別排列在一起即可。例例4 將十進制數(shù)將十進制數(shù)(97.0664)10轉(zhuǎn)換成十六進制數(shù)。轉(zhuǎn)換成十六進制數(shù)。解:解:1)先將整數(shù)部分轉(zhuǎn)換為十六進制,計算過程如下:)先將整數(shù)部分轉(zhuǎn)換為十六進制,計算過程如下: 因此有因此有 (97)10=(61)16。 332)小數(shù)部分轉(zhuǎn)換為十六進制數(shù),計算過程如下:)小數(shù)部分
42、轉(zhuǎn)換為十六進制數(shù),計算過程如下: 所以有所以有 (0.0664)10=(0.10ff)16。綜合起來,綜合起來,(97.0664)10=(61.10ff)16。343 3二進制數(shù)與八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換二進制數(shù)與八進制數(shù)、十六進制數(shù)之間的轉(zhuǎn)換 (1 1)二進制數(shù)與八進制數(shù)之間的轉(zhuǎn)換)二進制數(shù)與八進制數(shù)之間的轉(zhuǎn)換 由于由于23=8,24=16,所以每三位二進制數(shù)對應一位八,所以每三位二進制數(shù)對應一位八進制數(shù),每四位二進制數(shù)對應一位進制數(shù),每四位二進制數(shù)對應一位16進制數(shù),因此二進進制數(shù),因此二進制與八進制、十六進制之間的轉(zhuǎn)換可以通過表制與八進制、十六進制之間的轉(zhuǎn)換可以通過表1-1之間的之
43、間的對應關(guān)系進行轉(zhuǎn)換。對應關(guān)系進行轉(zhuǎn)換。 轉(zhuǎn)換方法:以小數(shù)點為界線,分別向左或向右按三轉(zhuǎn)換方法:以小數(shù)點為界線,分別向左或向右按三位二進制進行分組,不足三位的在前面或后面補足三位。位二進制進行分組,不足三位的在前面或后面補足三位。參照表參照表1-1,再將每一組二進制數(shù)轉(zhuǎn)換為一位八進制數(shù),再將每一組二進制數(shù)轉(zhuǎn)換為一位八進制數(shù),排列后即為二進制數(shù)對應的八進制數(shù)。二進制數(shù)和八進排列后即為二進制數(shù)對應的八進制數(shù)。二進制數(shù)和八進制數(shù)之間的轉(zhuǎn)換過程可逆。制數(shù)之間的轉(zhuǎn)換過程可逆。35例例5 將二進制數(shù)將二進制數(shù)11110.11轉(zhuǎn)換成八進制數(shù)。轉(zhuǎn)換過程如下:轉(zhuǎn)換成八進制數(shù)。轉(zhuǎn)換過程如下:所以有,所以有,(11
44、110.11)2=(36.6)8。例例6 將八進制數(shù)將八進制數(shù)35.6轉(zhuǎn)換成二進制數(shù),轉(zhuǎn)換過程如下:轉(zhuǎn)換成二進制數(shù),轉(zhuǎn)換過程如下:所以有,所以有,(35.6)8 = (11101.11)2。36(2 2)二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換)二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換 轉(zhuǎn)換方法:以小數(shù)點為界線,分別向左或向右按四位二轉(zhuǎn)換方法:以小數(shù)點為界線,分別向左或向右按四位二進制進行分組,不足四位的在前面或后面補足四位。參進制進行分組,不足四位的在前面或后面補足四位。參照表照表1-1,再將每一組二進制數(shù)轉(zhuǎn)換為一位十六進制數(shù),再將每一組二進制數(shù)轉(zhuǎn)換為一位十六進制數(shù),排列后即為二進制數(shù)對應的十六進制數(shù)。二進制數(shù)
45、和十排列后即為二進制數(shù)對應的十六進制數(shù)。二進制數(shù)和十六進制數(shù)之間的轉(zhuǎn)換過程也可逆。六進制數(shù)之間的轉(zhuǎn)換過程也可逆。例例7 將二進制數(shù)將二進制數(shù)110 1110 1111.0110 101b轉(zhuǎn)換為十六進制數(shù),轉(zhuǎn)換為十六進制數(shù),轉(zhuǎn)換過程如下:轉(zhuǎn)換過程如下:所以有,所以有,110 1110 1111.0110 101b=(6ef.6a)16。37例例8 將十六進制數(shù)將十六進制數(shù)ef.c轉(zhuǎn)換成二進制數(shù),轉(zhuǎn)換過程如下:轉(zhuǎn)換成二進制數(shù),轉(zhuǎn)換過程如下:所以有,所以有,(ef.c)16=(1110 1111.11)2。38綜上所述,不同進制數(shù)之間進行轉(zhuǎn)換時需要注意以下幾點:綜上所述,不同進制數(shù)之間進行轉(zhuǎn)換時需要
46、注意以下幾點:1)一個二進制數(shù)可以準確地轉(zhuǎn)換為十進制數(shù),而一個)一個二進制數(shù)可以準確地轉(zhuǎn)換為十進制數(shù),而一個帶小數(shù)的十進制數(shù)不一定能夠準確地用二進制來表示帶小數(shù)的十進制數(shù)不一定能夠準確地用二進制來表示;2)帶小數(shù)的十進制數(shù)在轉(zhuǎn)換為二進制數(shù)時,以小數(shù)點)帶小數(shù)的十進制數(shù)在轉(zhuǎn)換為二進制數(shù)時,以小數(shù)點為分界,整數(shù)和小數(shù)要分別轉(zhuǎn)換;為分界,整數(shù)和小數(shù)要分別轉(zhuǎn)換;3)二進制與八進制、十六進制數(shù)進行相互轉(zhuǎn)換方便,)二進制與八進制、十六進制數(shù)進行相互轉(zhuǎn)換方便,且能準確地相互轉(zhuǎn)換,因此帶小數(shù)的十進制數(shù)向八進制且能準確地相互轉(zhuǎn)換,因此帶小數(shù)的十進制數(shù)向八進制或十六進制轉(zhuǎn)換時也或十六進制轉(zhuǎn)換時也存在精度問題存在精
47、度問題;4)十六進制數(shù)表示二進制數(shù)長度較短,且微機中數(shù)據(jù))十六進制數(shù)表示二進制數(shù)長度較短,且微機中數(shù)據(jù)表達和編程方便,因此二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)表達和編程方便,因此二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換必須十分熟悉。換必須十分熟悉。391.3 微型計算機的碼制和編碼微型計算機的碼制和編碼 數(shù)據(jù)是計算機的處理對象,在計算機中采用基數(shù)據(jù)是計算機的處理對象,在計算機中采用基2碼碼進行編碼,它包括數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)兩類。數(shù)值數(shù)進行編碼,它包括數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)兩類。數(shù)值數(shù)據(jù)可分為有符號數(shù)和無符號數(shù),有符號數(shù)又有正、負之據(jù)可分為有符號數(shù)和無符號數(shù),有符號數(shù)又有正、負之分,而且數(shù)值數(shù)據(jù)又有整數(shù)和小數(shù)之分
48、,存在小數(shù)點。分,而且數(shù)值數(shù)據(jù)又有整數(shù)和小數(shù)之分,存在小數(shù)點。本節(jié)重點對數(shù)據(jù)的表示問題進行討論。本節(jié)重點對數(shù)據(jù)的表示問題進行討論。401.3.1 1.3.1 微型計算機中數(shù)的表示方法微型計算機中數(shù)的表示方法 計算機所處理的數(shù)據(jù)中,對于計算機所處理的數(shù)據(jù)中,對于無正、負意義的數(shù)無正、負意義的數(shù),稱為,稱為無符號數(shù)無符號數(shù)。而算術(shù)運算中的數(shù),存在正負之分,這類數(shù)稱為。而算術(shù)運算中的數(shù),存在正負之分,這類數(shù)稱為帶符號數(shù),帶符號數(shù),通常規(guī)定一個數(shù)的最高位為其符號位。帶符號數(shù)通常規(guī)定一個數(shù)的最高位為其符號位。帶符號數(shù)的正號(的正號(+)、負號()、負號(-)采用)采用“0”和和“1”來表示,來表示,“0
49、”表示表示正數(shù)的符號,正數(shù)的符號,“1”表示負數(shù)的符號表示負數(shù)的符號。例如,例如,8位二進制數(shù),計算機一般用位二進制數(shù),計算機一般用d7位來表示符號,如。位來表示符號,如。 1 1機器數(shù)與真值(數(shù)的符號表示)機器數(shù)與真值(數(shù)的符號表示)41 上述表示方法中,上述表示方法中,d7為為0表示數(shù)據(jù)為正,為表示數(shù)據(jù)為正,為1表示數(shù)據(jù)為負。表示數(shù)據(jù)為負。例如,有符號二進制數(shù)例如,有符號二進制數(shù)+110101b和和-110101b在計算機中分別在計算機中分別表示為表示為0110101b和和1110101b。 為了區(qū)別原來的數(shù)與它在計算機中的表示形式的不同,為了區(qū)別原來的數(shù)與它在計算機中的表示形式的不同,符
50、號位和數(shù)值位一起作為一個數(shù)稱為符號位和數(shù)值位一起作為一個數(shù)稱為機器數(shù)機器數(shù),機器數(shù)能被計,機器數(shù)能被計算機正確識別,而數(shù)據(jù)的實際數(shù)值稱為機器數(shù)的算機正確識別,而數(shù)據(jù)的實際數(shù)值稱為機器數(shù)的真值真值。2 2小數(shù)的表示小數(shù)的表示 計算機中,小數(shù)點通常采用兩種表示方法,即定點表示計算機中,小數(shù)點通常采用兩種表示方法,即定點表示法和浮點表示法。法和浮點表示法。421 1)定點表示法)定點表示法 定點表示法指小數(shù)點在數(shù)中的位置是固定不變的。定點表示法指小數(shù)點在數(shù)中的位置是固定不變的。因此,在計算機中數(shù)的小數(shù)點是隱含的。一個二進制數(shù)因此,在計算機中數(shù)的小數(shù)點是隱含的。一個二進制數(shù)可以寫成如下形式:可以寫成如
51、下形式:jsn2 式中式中 j二進制整數(shù),稱為數(shù)二進制整數(shù),稱為數(shù)n的階碼;的階碼; 2階碼的底;階碼的底; s為尾數(shù),為為尾數(shù),為k位二進制小數(shù),是位二進制小數(shù),是n全部有效數(shù)字。全部有效數(shù)字。 例如例如1011.11b = 0.10111012100。43式(式(1-2)也可以表示如下:)也可以表示如下:j指明了小數(shù)點的位置,當指明了小數(shù)點的位置,當j=k時,定點數(shù)為整數(shù),即小數(shù)時,定點數(shù)為整數(shù),即小數(shù)點被固定在數(shù)值位最低有效位之后,定點數(shù)為純整數(shù)。點被固定在數(shù)值位最低有效位之后,定點數(shù)為純整數(shù)。44例例91011.101b=0.10111012100,表達式中,表達式中,j=4,而,而k
52、=7,為了化成定點整數(shù),將表達,為了化成定點整數(shù),將表達式右側(cè)二進制數(shù)再右移式右側(cè)二進制數(shù)再右移3位,位,即為即為1011.101b=0.00010111012111。若字長。若字長8位,則數(shù)位,則數(shù)值部分取值部分取0001011。當當j=0時,定點數(shù)就是定點小數(shù)。時,定點數(shù)就是定點小數(shù)。例例10 0.00010111211= 0.1011120這時這時j=0,此數(shù)字就是定點小數(shù)。,此數(shù)字就是定點小數(shù)。j碼固定不變的二進制數(shù)的表示法稱為定點表示,這樣碼固定不變的二進制數(shù)的表示法稱為定點表示,這樣的數(shù)為定點數(shù),機器稱為定點機。的數(shù)為定點數(shù),機器稱為定點機。 452)浮點表示法)浮點表示法 浮點表
53、示法是指小數(shù)點在數(shù)中的位置是浮動可變的。由浮點表示法是指小數(shù)點在數(shù)中的位置是浮動可變的。由于計算機不能識別小數(shù)點于計算機不能識別小數(shù)點“.”,數(shù)據(jù)中的小數(shù)點用,數(shù)據(jù)中的小數(shù)點用j表示表示表示小數(shù)點的位置,表示小數(shù)點的位置,j稱為浮點數(shù)的階碼,階碼包括階稱為浮點數(shù)的階碼,階碼包括階碼的符號(又稱為階符)碼的符號(又稱為階符)jf和階碼和階碼jm兩部分。尾數(shù)兩部分。尾數(shù)s包包括尾數(shù)符號括尾數(shù)符號sf和尾數(shù)和尾數(shù)sm兩部分。兩部分。sm通常采用定點小數(shù)形通常采用定點小數(shù)形式表示,它決定了浮點數(shù)的精度。計算機中,浮點數(shù)的式表示,它決定了浮點數(shù)的精度。計算機中,浮點數(shù)的表示如下:表示如下: 46例例11
54、 采用十六位二進制數(shù)表示一個浮點數(shù),階碼占采用十六位二進制數(shù)表示一個浮點數(shù),階碼占5位,位,尾數(shù)和數(shù)符占尾數(shù)和數(shù)符占11位,把實數(shù)位,把實數(shù)84.375表示為浮點數(shù)。表示為浮點數(shù)。解解 84.375=101 0100.011b=0.1010 1000 112+111 階碼階碼j=+111,尾數(shù),尾數(shù)s=0.1010 1000 11,尾數(shù)符號為,尾數(shù)符號為0,則,則浮點形式為浮點形式為471.3.2 1.3.2 微型計算機中的原碼、反碼和補碼微型計算機中的原碼、反碼和補碼 二進制數(shù)據(jù)的正負可以用一位二進制的二進制數(shù)據(jù)的正負可以用一位二進制的“0”和和“1”兩兩個狀態(tài)來表示。計算機對數(shù)據(jù)進行運算時
55、,直接對符號位進個狀態(tài)來表示。計算機對數(shù)據(jù)進行運算時,直接對符號位進行計算得到的是錯誤的結(jié)果,因此為了簡化對二進制數(shù)值數(shù)行計算得到的是錯誤的結(jié)果,因此為了簡化對二進制數(shù)值數(shù)據(jù)實現(xiàn)算術(shù)運算,需要將二進制數(shù)據(jù)進行編碼表示,常用的據(jù)實現(xiàn)算術(shù)運算,需要將二進制數(shù)據(jù)進行編碼表示,常用的編碼有原碼、反碼和補碼。為了討論方便,首先引入兩個概編碼有原碼、反碼和補碼。為了討論方便,首先引入兩個概念:機器數(shù)和真值。念:機器數(shù)和真值。 機器數(shù):機器數(shù):帶符號的二進制數(shù)值數(shù)據(jù)在計算機內(nèi)部的編碼;帶符號的二進制數(shù)值數(shù)據(jù)在計算機內(nèi)部的編碼;真值:真值:機器數(shù)所代表的實際值。機器數(shù)所代表的實際值。481 1原碼原碼設真值為
56、設真值為x,機器字長為,機器字長為n位,則二進制數(shù)位,則二進制數(shù)x的原碼定義為:的原碼定義為: 一個數(shù)的原碼就是該數(shù)的機器數(shù),它的最高位為符號位,一個數(shù)的原碼就是該數(shù)的機器數(shù),它的最高位為符號位,且用且用“0”表示正,用表示正,用“1”表示負,其余各位為數(shù)值位。因表示負,其余各位為數(shù)值位。因此,二進制正、負數(shù)的原碼就是符號化的機器數(shù)真值本身。此,二進制正、負數(shù)的原碼就是符號化的機器數(shù)真值本身。 例例12 已知已知x=+111 0010b,y=1 1011b,求,求x,y的原碼的原碼(機器字長為(機器字長為8位)。位)。 設真值為設真值為x,機器字長為,機器字長為n位,在二進制數(shù)位,在二進制數(shù)x
57、的原碼定義為:的原碼定義為: x原原=0111 0010b;y原原=1001 1011b。 49例例13 已知已知x原原=0101 0011b;y原原=1010 1100b,求,求x和和y的真值。的真值。解:由式(解:由式(1-3),已知原碼求真值,只需用),已知原碼求真值,只需用“+”、“-”分分別取代符號位中的別取代符號位中的“0”和和“1”即可。所以有,即可。所以有,。 x的真值為:的真值為:+101 0011by的真值為:的真值為:10 1100b2 2反碼反碼設真值為設真值為x,機器字長為,機器字長為n位,在二進制數(shù)位,在二進制數(shù)x的反碼定義為:的反碼定義為:50對于正數(shù),其反碼就是
58、該數(shù)的原碼;對于負數(shù),其反碼就對于正數(shù),其反碼就是該數(shù)的原碼;對于負數(shù),其反碼就是機器數(shù)符號位保持不變,其余按位取反。是機器數(shù)符號位保持不變,其余按位取反。 例例14 已知已知x=+1 1010b,y=10 0010b,求,求x和和y的反碼的反碼(機器字長為(機器字長為8位)。位)。解:由式(解:由式(1-4)得:)得: x反反=x原原=0001 1010b y反反=1101 1101b例例15 已知已知x反反=0111 1101b,y反反=1111 1111b,求,求x和和y的真值。的真值。 解:根據(jù)原碼與真值之間的關(guān)系,先求出原碼,然后求真值。解:根據(jù)原碼與真值之間的關(guān)系,先求出原碼,然后
59、求真值。51 根據(jù)根據(jù)x和和y的反碼值,的反碼值, x0,則,則x原原= x反,反,x的真值為:的真值為:+111 1101b,即,即+125。 y0,則,則y原原=1000 0000b,y的真值為:的真值為:000 0000b,即即0。3 3補碼補碼設真值為設真值為x,機器字長為,機器字長為n位,在二進制數(shù)位,在二進制數(shù)x的補碼定義為:的補碼定義為:對于正數(shù),其補碼就是該數(shù)的原碼;對于負數(shù),其補碼就是對于正數(shù),其補碼就是該數(shù)的原碼;對于負數(shù),其補碼就是機器數(shù)符號位保持不變,其余按位取反后末位加機器數(shù)符號位保持不變,其余按位取反后末位加1。 3 3補碼補碼設真值為設真值為x,機器字長為,機器字
60、長為n位,在二進制數(shù)位,在二進制數(shù)x的補碼定義為:的補碼定義為:52求二進制數(shù)的補碼應注意:求二進制數(shù)的補碼應注意:(1)在補碼表示法中,)在補碼表示法中,0只有一種表示,即只有一種表示,即000000;(2)對于)對于1000 0000這個補碼編碼,其真值被定義為這個補碼編碼,其真值被定義為128;(3)負數(shù)的補碼再取補碼等于原碼。)負數(shù)的補碼再取補碼等于原碼。例例16已知已知x=+48d,y=48d,機器字長,機器字長n=8位,求位,求x和和y的的補碼。補碼。解:首先將解:首先將48d轉(zhuǎn)換為二進制數(shù):轉(zhuǎn)換為二進制數(shù):110000b。 由于機器字長是由于機器字長是8位,符號位占位,符號位占1位,所以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年比特幣投資合作協(xié)議書
- 三級人力資源管理師-上半三級人力資源管理師考試《理論知識》黑鉆押題3
- 廣東省江門市普通高中2017-2018學年高一化學1月月考試題09
- 江西省吉安市2024-2025學年高三上學期期末語文試題(原卷版+解析版)
- 國有企業(yè)工會加強職工民主管理的途徑
- 小菜蛾高致病力球孢白僵菌株系篩選及其感染后的抗氧化反應研究
- DB11T-施工現(xiàn)場升降機 檢驗規(guī)程編制說明
- 做瓷磚合同范例
- 大單元背景下初中語文寫作教學策略文獻參考
- 辦公類租房合同范例
- 第28課 改革開放和社會主義現(xiàn)代化建設的巨大成就 教學設計(表格式)必修 中外歷史綱要(上)
- DB21-T 3943-2024 消防控制室管理
- 規(guī)劃課題申報范例:高校畢業(yè)生高質(zhì)量就業(yè)服務體系建設研究(附可修改技術(shù)路線圖)
- 2023年高考地理專題復習新題典題精練-大氣受熱過程(原卷版)
- 教師資格考試高級中學數(shù)學面試試題與參考答案(2024年)
- 高速公路改建拆除施工方案
- 護理不良事件相關(guān)知識考核試題及答案
- 安全文明施工標準化現(xiàn)場管理規(guī)定
- 循環(huán)流化床鍋爐改機械爐排爐項目可行性研究報告模板-立項備案
- 正常分娩過程與護理
- DB11T 3034-2023 建筑消防設施檢測服務規(guī)范
評論
0/150
提交評論