版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-6-121第第2章章 計(jì)算機(jī)中的信息表示及運(yùn)計(jì)算機(jī)中的信息表示及運(yùn)算算 本章要點(diǎn):u掌握數(shù)據(jù)的表示及其轉(zhuǎn)換u掌握數(shù)值型數(shù)據(jù)的表示方法u重點(diǎn)掌握數(shù)的運(yùn)算u掌握文字信息的編碼及表示2022-6-1222.1 2.1 數(shù)據(jù)的表示及其轉(zhuǎn)換數(shù)據(jù)的表示及其轉(zhuǎn)換計(jì)算機(jī)處理的信息可分為兩大類計(jì)算機(jī)處理的信息可分為兩大類 :一類是按進(jìn)位計(jì)算制表示的有大小、正負(fù)之分的數(shù)值一類是按進(jìn)位計(jì)算制表示的有大小、正負(fù)之分的數(shù)值 信息;信息; 另一類是非數(shù)值信息,如字符、文字、圖像、邏輯數(shù)據(jù)等另一類是非數(shù)值信息,如字符、文字、圖像、邏輯數(shù)據(jù)等 計(jì)算機(jī)內(nèi)部所有信息都要轉(zhuǎn)換成計(jì)算機(jī)內(nèi)部所有信息都要轉(zhuǎn)換成0 0和和1 1
2、表示的二進(jìn)制編碼表示的二進(jìn)制編碼 1.1.計(jì)算機(jī)中信息的表示計(jì)算機(jī)中信息的表示 目前的電子計(jì)算機(jī)是一種電子設(shè)備,只認(rèn)識電信目前的電子計(jì)算機(jī)是一種電子設(shè)備,只認(rèn)識電信號,即:電平高低、電路通斷、晶體管的導(dǎo)通與截止、號,即:電平高低、電路通斷、晶體管的導(dǎo)通與截止、電子開關(guān)的開與關(guān)。用電子開關(guān)的開與關(guān)。用0 0和和1 1表示一個(gè)二進(jìn)制位(電信表示一個(gè)二進(jìn)制位(電信號的兩個(gè)狀態(tài)),計(jì)算機(jī)中的任何信息都是號的兩個(gè)狀態(tài)),計(jì)算機(jī)中的任何信息都是0 0與與1 1的特的特定組合。定組合。信息表示的單位:信息表示的單位:ubit(bit(比特比特): ): 一個(gè)二進(jìn)制位。一個(gè)二進(jìn)制位。uByte(Byte(字節(jié)
3、字節(jié)):8):8個(gè)一個(gè)二進(jìn)制位。個(gè)一個(gè)二進(jìn)制位。uWord(Word(字字):16):16位機(jī)中是位機(jī)中是2 2個(gè)字節(jié)。個(gè)字節(jié)。2.2.數(shù)制表示數(shù)制表示 計(jì)算機(jī)匯編語言中常用的計(jì)數(shù)制有十計(jì)算機(jī)匯編語言中常用的計(jì)數(shù)制有十進(jìn)制數(shù)(進(jìn)制數(shù)(DecimalDecimal)、二進(jìn)制數(shù))、二進(jìn)制數(shù)(BinaryBinary)、十六進(jìn)制數(shù)()、十六進(jìn)制數(shù)(HexadecimalHexadecimal)和八進(jìn)制數(shù)(和八進(jìn)制數(shù)(OctalOctal)。)。(1 1) 十進(jìn)制數(shù)十進(jìn)制數(shù) 最常用的十進(jìn)制數(shù),每個(gè)數(shù)位上允許選用最常用的十進(jìn)制數(shù),每個(gè)數(shù)位上允許選用0 0,1 1,2 2,9 9共共1010個(gè)不同數(shù)碼中的
4、個(gè)不同數(shù)碼中的1 1個(gè),因而十進(jìn)制數(shù)的基數(shù)為個(gè),因而十進(jìn)制數(shù)的基數(shù)為1010,每位,每位計(jì)滿計(jì)滿1010時(shí)向高位進(jìn)時(shí)向高位進(jìn)1 1。每個(gè)數(shù)碼所表示的數(shù)值等于該數(shù)碼乘以。每個(gè)數(shù)碼所表示的數(shù)值等于該數(shù)碼乘以一個(gè)與數(shù)碼所在位有關(guān)的常數(shù),這個(gè)常數(shù)就叫一個(gè)與數(shù)碼所在位有關(guān)的常數(shù),這個(gè)常數(shù)就叫“位權(quán)位權(quán)”,簡,簡稱權(quán)。位權(quán)的大小是以基數(shù)為底,數(shù)碼所在位置的序號為指稱權(quán)。位權(quán)的大小是以基數(shù)為底,數(shù)碼所在位置的序號為指數(shù)的整數(shù)次冪。它的運(yùn)算規(guī)則是數(shù)的整數(shù)次冪。它的運(yùn)算規(guī)則是“逢十進(jìn)一,借一為十逢十進(jìn)一,借一為十”。 在書寫二進(jìn)制時(shí),為了區(qū)別,在數(shù)據(jù)后面緊跟一個(gè)字母在書寫二進(jìn)制時(shí),為了區(qū)別,在數(shù)據(jù)后面緊跟一個(gè)字
5、母B B。例。例如如 236.75D=2*102+3*101+6*100+7*10-1+5*10-2(2 2) 二進(jìn)制數(shù)二進(jìn)制數(shù) 二進(jìn)制只有兩個(gè)記數(shù)符號二進(jìn)制只有兩個(gè)記數(shù)符號0 0和和1 1,它逢二進(jìn)一二進(jìn)制數(shù),它逢二進(jìn)一二進(jìn)制數(shù)由排列起來的由排列起來的0 0和和l l組成各位的權(quán)值,從位序號組成各位的權(quán)值,從位序號0 0向左數(shù),依向左數(shù),依次為次為1 1,2 2,4 4,8 8等等,從位序號為等等,從位序號為-l-l向右數(shù),依次為向右數(shù),依次為1/21/2,1/41/4,1/81/8等等一個(gè)二進(jìn)制所表示的實(shí)際值按如下公式計(jì)算:等等一個(gè)二進(jìn)制所表示的實(shí)際值按如下公式計(jì)算:例如例如: :1011
6、.11B=1*23+0*22+1*21+1*20+1*2-1+1*2-2(3 3) 八進(jìn)制數(shù)八進(jìn)制數(shù) 八進(jìn)制數(shù)是八進(jìn)制數(shù)是0 0到到7 7這八個(gè)數(shù)碼組成,它的基數(shù)為這八個(gè)數(shù)碼組成,它的基數(shù)為8 8,各位的權(quán)值為各位的權(quán)值為8i8i。八二進(jìn)制數(shù)的運(yùn)算規(guī)則是。八二進(jìn)制數(shù)的運(yùn)算規(guī)則是“逢八進(jìn)逢八進(jìn)一,借一為八一,借一為八”。在書寫時(shí),為了區(qū)別,在數(shù)據(jù)后面。在書寫時(shí),為了區(qū)別,在數(shù)據(jù)后面緊跟一個(gè)字母緊跟一個(gè)字母Q Q。例如,。例如,1234Q1234Q、7654Q7654Q、54Q54Q等都是八等都是八進(jìn)制。進(jìn)制。(4 4) 十六進(jìn)制數(shù)十六進(jìn)制數(shù) 十六進(jìn)制數(shù)是由十六進(jìn)制數(shù)是由0 0到到9 9和和A,B
7、,C,D,EA,B,C,D,E和和F(F(小寫也可以,分小寫也可以,分別代表別代表1010到到15)15)這十六個(gè)數(shù)碼組成的這十六個(gè)數(shù)碼組成的, , 它的基數(shù)為它的基數(shù)為1616,各位,各位的權(quán)值為的權(quán)值為16i16i。它的運(yùn)算規(guī)則是。它的運(yùn)算規(guī)則是“逢十六進(jìn)一,借一為十逢十六進(jìn)一,借一為十六六”。 在書寫時(shí),為了區(qū)別,在數(shù)據(jù)后面緊跟一個(gè)字母在書寫時(shí),為了區(qū)別,在數(shù)據(jù)后面緊跟一個(gè)字母H H。當(dāng)。當(dāng)十六進(jìn)制數(shù)的第一個(gè)字符是字母時(shí),在第一個(gè)字符之前必十六進(jìn)制數(shù)的第一個(gè)字符是字母時(shí),在第一個(gè)字符之前必須添加一個(gè)須添加一個(gè)0 0。例如,。例如,100H100H、56EFH56EFH、0FFH0FFH、
8、0ABCDH0ABCDH等都是等都是十六進(jìn)制數(shù)。加十六進(jìn)制數(shù)。加0 0是為了和寄存器相區(qū)別,例如,是為了和寄存器相區(qū)別,例如,AHAH可以理可以理解為寄存器,只有前面加解為寄存器,只有前面加0 0為為0AH0AH才合適理解為才合適理解為1616進(jìn)制數(shù)。進(jìn)制數(shù)。3.3.數(shù)制的轉(zhuǎn)換數(shù)制的轉(zhuǎn)換(1 1)將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù))將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù) 整數(shù)的轉(zhuǎn)換采用整數(shù)的轉(zhuǎn)換采用“除除2 2取余取余”法。把要轉(zhuǎn)換的十進(jìn)制法。把要轉(zhuǎn)換的十進(jìn)制數(shù)的整數(shù)部分不斷除以數(shù)的整數(shù)部分不斷除以2 2并在右邊記下余數(shù),然后以此類并在右邊記下余數(shù),然后以此類推,直到最后的商為推,直到最后的商為0,0,最后我們將余數(shù)
9、倒著排列即得結(jié)最后我們將余數(shù)倒著排列即得結(jié)果。果。 小數(shù)的轉(zhuǎn)換采用小數(shù)的轉(zhuǎn)換采用“乘乘2 2取整取整”法。小數(shù)的轉(zhuǎn)換正好與法。小數(shù)的轉(zhuǎn)換正好與整數(shù)的轉(zhuǎn)換相反,將小數(shù)部分不斷的乘以整數(shù)的轉(zhuǎn)換相反,將小數(shù)部分不斷的乘以2 2在右邊記下成在右邊記下成績整數(shù)部分,依此類推,直到最后小數(shù)部分為績整數(shù)部分,依此類推,直到最后小數(shù)部分為0 0或結(jié)果已或結(jié)果已達(dá)到精度要求為止。先取出來的整數(shù)作高位,后取出的整達(dá)到精度要求為止。先取出來的整數(shù)作高位,后取出的整數(shù)作低位,順序排列即可。數(shù)作低位,順序排列即可。例【例【2-12-1】將】將205205轉(zhuǎn)換成二進(jìn)制整數(shù),如圖轉(zhuǎn)換成二進(jìn)制整數(shù),如圖2-12-1所示。所示
10、。圖圖2-1 2052-1 205轉(zhuǎn)換成二進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù) 例如,將十進(jìn)制數(shù)例如,將十進(jìn)制數(shù) 125.6875D125.6875D轉(zhuǎn)換成二進(jìn)制數(shù)。轉(zhuǎn)換成二進(jìn)制數(shù)。 125.6875D=1111101.1011B 125.6875D=1111101.1011B(2 2) 將十進(jìn)制數(shù)轉(zhuǎn)換成八將十進(jìn)制數(shù)轉(zhuǎn)換成八/ /十六進(jìn)制數(shù)十六進(jìn)制數(shù)方法如上方法如上, ,只不過乘只不過乘/ /除數(shù)為除數(shù)為8 8或或1616而已。而已。例如:例如:100D=64H 65535=0FFFFH 255=0FFH例【例【2-22-2】將】將347347轉(zhuǎn)換成十六進(jìn)制數(shù),轉(zhuǎn)換過程如圖轉(zhuǎn)換成十六進(jìn)制數(shù),轉(zhuǎn)換過程如圖2
11、-22-2所示。所示。圖圖2-2 3472-2 347轉(zhuǎn)換成十六進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)(3 3) 二二/ /八八/ /十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù) 轉(zhuǎn)換方法是采用位置記數(shù)法把他們寫成相應(yīng)的冪轉(zhuǎn)換方法是采用位置記數(shù)法把他們寫成相應(yīng)的冪運(yùn)算形式,然后求和即可得到結(jié)果。運(yùn)算形式,然后求和即可得到結(jié)果。 例如:例如: 572.34Q=5572.34Q=5* *82+782+7* *8+2+38+2+3* *8-1+48-1+4* *8-2=378.4375D8-2=378.4375D(4 4)二進(jìn)制數(shù)與八進(jìn)制數(shù)的轉(zhuǎn)換)二進(jìn)制數(shù)與八進(jìn)制數(shù)的轉(zhuǎn)換 因?yàn)橐驗(yàn)? 23 3=8=8,所以二進(jìn)
12、制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)只需將二,所以二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)只需將二進(jìn)制數(shù)從小數(shù)點(diǎn)開始每進(jìn)制數(shù)從小數(shù)點(diǎn)開始每3 3位轉(zhuǎn)成一位八進(jìn)制數(shù),整數(shù)部分位轉(zhuǎn)成一位八進(jìn)制數(shù),整數(shù)部分由最低位開始劃分,小數(shù)部分從最高位開始劃分。例如:由最低位開始劃分,小數(shù)部分從最高位開始劃分。例如: 101111010 .011100B =572.34Q 八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)只需將每一位八進(jìn)制數(shù)用八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)只需將每一位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示,小數(shù)點(diǎn)位置不變。例如:三位二進(jìn)制數(shù)表示,小數(shù)點(diǎn)位置不變。例如:175.54Q=001 111 101.101 100B=1111101.1011B(5 5) 二進(jìn)制數(shù)與十六
13、進(jìn)制數(shù)的轉(zhuǎn)換二進(jìn)制數(shù)與十六進(jìn)制數(shù)的轉(zhuǎn)換 至于十六進(jìn)制數(shù)與二進(jìn)制數(shù)的轉(zhuǎn)換和八進(jìn)制類似至于十六進(jìn)制數(shù)與二進(jìn)制數(shù)的轉(zhuǎn)換和八進(jìn)制類似只需將每只需將每3 3位一組改為每位一組改為每4 4位一組即可。例如:位一組即可。例如:101111010 .011111B =17A.7CH2022-6-12152.2 2.2 數(shù)值型數(shù)據(jù)的表示方法數(shù)值型數(shù)據(jù)的表示方法 一個(gè)數(shù)值型的數(shù)據(jù)既有大小,又可能有正負(fù);即可能一個(gè)數(shù)值型的數(shù)據(jù)既有大小,又可能有正負(fù);即可能是整數(shù),又可能是小數(shù)。而在計(jì)算機(jī)中,數(shù)的所有信息都是整數(shù),又可能是小數(shù)。而在計(jì)算機(jī)中,數(shù)的所有信息都要通過二進(jìn)制編碼的形式表示出來。要通過二進(jìn)制編碼的形式表示出來
14、。 數(shù)據(jù)是計(jì)算機(jī)處理的對象,數(shù)據(jù)表示是計(jì)算機(jī)運(yùn)算的數(shù)據(jù)是計(jì)算機(jī)處理的對象,數(shù)據(jù)表示是計(jì)算機(jī)運(yùn)算的基礎(chǔ)。在選擇數(shù)據(jù)的表示方式時(shí),需要考慮以下幾個(gè)因素:基礎(chǔ)。在選擇數(shù)據(jù)的表示方式時(shí),需要考慮以下幾個(gè)因素: (1 1)要表示的數(shù)的類型(小數(shù)、整數(shù)、實(shí)數(shù)和復(fù)數(shù));)要表示的數(shù)的類型(小數(shù)、整數(shù)、實(shí)數(shù)和復(fù)數(shù)); (2 2)可能遇到的數(shù)值范圍;)可能遇到的數(shù)值范圍;(3 3)數(shù)值精確度;)數(shù)值精確度;(4 4)數(shù)據(jù)存儲和處理所需要的硬件代價(jià)。)數(shù)據(jù)存儲和處理所需要的硬件代價(jià)。1.1.機(jī)器數(shù)的概念及其特點(diǎn)機(jī)器數(shù)的概念及其特點(diǎn) 機(jī)器數(shù)是指一個(gè)數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的二進(jìn)制表示機(jī)器數(shù)是指一個(gè)數(shù)值數(shù)據(jù)在計(jì)算機(jī)中的二進(jìn)
15、制表示形式,即一個(gè)數(shù)值數(shù)據(jù)的機(jī)內(nèi)編碼。如前所述,一個(gè)數(shù)形式,即一個(gè)數(shù)值數(shù)據(jù)的機(jī)內(nèi)編碼。如前所述,一個(gè)數(shù)值型數(shù)據(jù)的所有信息都要以二進(jìn)制編碼的形式表示出來,值型數(shù)據(jù)的所有信息都要以二進(jìn)制編碼的形式表示出來,因此,機(jī)器數(shù)有以下的特點(diǎn):因此,機(jī)器數(shù)有以下的特點(diǎn):(1 1) 符號位數(shù)碼化符號位數(shù)碼化 數(shù)的符號位在計(jì)算機(jī)中也要以二進(jìn)制編碼的形式表示數(shù)的符號位在計(jì)算機(jī)中也要以二進(jìn)制編碼的形式表示出來。通常用的方法是用一位二進(jìn)制的出來。通常用的方法是用一位二進(jìn)制的“0”0”來代表來代表“+”+”,用用“1”1”來代表來代表“”。通常這個(gè)符號放在二進(jìn)制數(shù)最高。通常這個(gè)符號放在二進(jìn)制數(shù)最高位,稱為符號位。這樣機(jī)器
16、中數(shù)的符號就被數(shù)值化了,符位,稱為符號位。這樣機(jī)器中數(shù)的符號就被數(shù)值化了,符號數(shù)值化是機(jī)器數(shù)的一個(gè)特點(diǎn)。號數(shù)值化是機(jī)器數(shù)的一個(gè)特點(diǎn)。(2 2) 小數(shù)點(diǎn)位置確定小數(shù)點(diǎn)位置確定 小數(shù)點(diǎn)在一個(gè)機(jī)器中的位置通常是事先約定隱含在一個(gè)小數(shù)點(diǎn)在一個(gè)機(jī)器中的位置通常是事先約定隱含在一個(gè)固定位置上,而不再占據(jù)機(jī)器數(shù)中的數(shù)位。約定的具體方法固定位置上,而不再占據(jù)機(jī)器數(shù)中的數(shù)位。約定的具體方法在后面會有介紹。小數(shù)點(diǎn)位置用一定方式約定,這是機(jī)器數(shù)在后面會有介紹。小數(shù)點(diǎn)位置用一定方式約定,這是機(jī)器數(shù)的又一個(gè)特點(diǎn)。的又一個(gè)特點(diǎn)。(3 3) 每個(gè)機(jī)器數(shù)對應(yīng)唯一的真值每個(gè)機(jī)器數(shù)對應(yīng)唯一的真值 機(jī)器數(shù)所代表的實(shí)際值叫真值。由于
17、機(jī)器數(shù)的編碼中包機(jī)器數(shù)所代表的實(shí)際值叫真值。由于機(jī)器數(shù)的編碼中包含有除數(shù)值大小之外的信息,因此,一個(gè)機(jī)器數(shù)形式上的值含有除數(shù)值大小之外的信息,因此,一個(gè)機(jī)器數(shù)形式上的值就不等于其實(shí)際的數(shù)值大小。但某種編碼規(guī)則下一個(gè)機(jī)器數(shù)就不等于其實(shí)際的數(shù)值大小。但某種編碼規(guī)則下一個(gè)機(jī)器數(shù)應(yīng)該代表一個(gè)唯一的實(shí)際值。應(yīng)該代表一個(gè)唯一的實(shí)際值。(4 4) 機(jī)器數(shù)表示數(shù)的范圍和精度受機(jī)器字長的限制機(jī)器數(shù)表示數(shù)的范圍和精度受機(jī)器字長的限制 在計(jì)算機(jī)中作為整體進(jìn)行傳輸和參與運(yùn)算的一個(gè)二進(jìn)在計(jì)算機(jī)中作為整體進(jìn)行傳輸和參與運(yùn)算的一個(gè)二進(jìn)制串稱為字。每個(gè)字中包含的二進(jìn)制位數(shù)稱為字長,即字制串稱為字。每個(gè)字中包含的二進(jìn)制位數(shù)稱為
18、字長,即字長是長是CPUCPU一次能夠并行處理二進(jìn)制數(shù)據(jù)位數(shù)。一般來說,一次能夠并行處理二進(jìn)制數(shù)據(jù)位數(shù)。一般來說,字長越長,機(jī)器數(shù)所能表示的二進(jìn)制數(shù)的范圍就越大,表字長越長,機(jī)器數(shù)所能表示的二進(jìn)制數(shù)的范圍就越大,表示數(shù)的精度就越高。示數(shù)的精度就越高。2.2.數(shù)值型數(shù)據(jù)的表示形式數(shù)值型數(shù)據(jù)的表示形式 數(shù)值型數(shù)據(jù)多帶有小數(shù),小數(shù)點(diǎn)在計(jì)算機(jī)中通常有兩種數(shù)值型數(shù)據(jù)多帶有小數(shù),小數(shù)點(diǎn)在計(jì)算機(jī)中通常有兩種形式:一種是約定所有數(shù)值數(shù)據(jù)的小數(shù)點(diǎn)隱含在某個(gè)固定位形式:一種是約定所有數(shù)值數(shù)據(jù)的小數(shù)點(diǎn)隱含在某個(gè)固定位置上,稱為定點(diǎn)表示法;另一種小數(shù)點(diǎn)的位置可以浮動,稱置上,稱為定點(diǎn)表示法;另一種小數(shù)點(diǎn)的位置可以浮動
19、,稱為浮點(diǎn)表示法。為浮點(diǎn)表示法。 計(jì)算機(jī)常用的數(shù)據(jù)表示格式有兩種:定點(diǎn)格式和浮點(diǎn)格計(jì)算機(jī)常用的數(shù)據(jù)表示格式有兩種:定點(diǎn)格式和浮點(diǎn)格式。一般來說,定點(diǎn)格式容許的數(shù)值范圍有限,但要求的處式。一般來說,定點(diǎn)格式容許的數(shù)值范圍有限,但要求的處理硬件比較簡單。而浮點(diǎn)格式容許的數(shù)值范圍很大,但所要理硬件比較簡單。而浮點(diǎn)格式容許的數(shù)值范圍很大,但所要求的處理硬件比較復(fù)雜。求的處理硬件比較復(fù)雜。(1 1) 定點(diǎn)數(shù)表示法定點(diǎn)數(shù)表示法(fixed-point)(fixed-point) 所謂定點(diǎn)格式,即約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是所謂定點(diǎn)格式,即約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。在計(jì)算機(jī)中通常采用兩
20、種簡單的約定:將小數(shù)固定不變的。在計(jì)算機(jī)中通常采用兩種簡單的約定:將小數(shù)點(diǎn)的位置固定在數(shù)據(jù)的最高位之前,或者是固定在最低位之點(diǎn)的位置固定在數(shù)據(jù)的最高位之前,或者是固定在最低位之后。一般常稱前者為定點(diǎn)小數(shù),后者為定點(diǎn)整數(shù)。后。一般常稱前者為定點(diǎn)小數(shù),后者為定點(diǎn)整數(shù)。l定點(diǎn)小數(shù)定點(diǎn)小數(shù)是純小數(shù),約定的小數(shù)點(diǎn)位置在符號位之后、是純小數(shù),約定的小數(shù)點(diǎn)位置在符號位之后、有效數(shù)值部分最高位之前。若數(shù)據(jù)有效數(shù)值部分最高位之前。若數(shù)據(jù) x x 的形式為的形式為 x = x = x0.x1x2xn ( x0.x1x2xn ( 其中其中x0 x0為為符號位符號位,x1x1xnxn是數(shù)值的有效是數(shù)值的有效部分,也稱
21、為部分,也稱為尾數(shù)尾數(shù), x1x1為最高有效位為最高有效位 ) ),則在計(jì)算機(jī),則在計(jì)算機(jī)中的表示形式為:中的表示形式為: 一般說來,如果最末位一般說來,如果最末位 x xn n = 1= 1,前面各位都為,前面各位都為 0 0 ,則數(shù)的絕對值最小,即則數(shù)的絕對值最小,即 |x|x|minmin = 2 = 2-n -n 。如果各位均為。如果各位均為 1 1,則數(shù)的絕對值最大,即則數(shù)的絕對值最大,即 |x|x|maxmax =1-2 =1-2-n-n 。所以定點(diǎn)小數(shù)的。所以定點(diǎn)小數(shù)的表示范圍是:表示范圍是: 2 2- n- n | x | 1 - 2 | x | 1 - 2- n- nl定點(diǎn)整
22、數(shù)定點(diǎn)整數(shù)是純整數(shù),約定的小數(shù)點(diǎn)位置在有效數(shù)值部分最是純整數(shù),約定的小數(shù)點(diǎn)位置在有效數(shù)值部分最低位之后。若數(shù)據(jù)低位之后。若數(shù)據(jù) x x 的形式為的形式為 x = xx = x0 0 x x1 1x x2 2xxn n ( ( 其中其中x x0 0為符號位,為符號位,x x1 1x xn n 是尾數(shù),是尾數(shù), x xn n 為最低有效位為最低有效位 ) ),則在計(jì),則在計(jì)算機(jī)中的表示形式為:算機(jī)中的表示形式為:定點(diǎn)整數(shù)的表示范圍是:定點(diǎn)整數(shù)的表示范圍是:1 | x | 2n -1 當(dāng)數(shù)據(jù)小于定點(diǎn)數(shù)能表示的最小值時(shí),計(jì)算機(jī)將它們作當(dāng)數(shù)據(jù)小于定點(diǎn)數(shù)能表示的最小值時(shí),計(jì)算機(jī)將它們作0 0處理,稱為處理
23、,稱為下溢下溢;大于定點(diǎn)數(shù)能表示的最大值時(shí),計(jì)算機(jī);大于定點(diǎn)數(shù)能表示的最大值時(shí),計(jì)算機(jī)將無法表示,稱為將無法表示,稱為上溢上溢,上溢和下溢統(tǒng)稱為,上溢和下溢統(tǒng)稱為溢出溢出。 計(jì)算機(jī)采用定點(diǎn)數(shù)表示時(shí),對于既有整數(shù)又有小數(shù)的原計(jì)算機(jī)采用定點(diǎn)數(shù)表示時(shí),對于既有整數(shù)又有小數(shù)的原始數(shù)據(jù),需要設(shè)定一個(gè)比例因子,數(shù)據(jù)按其縮小成定點(diǎn)小數(shù)始數(shù)據(jù),需要設(shè)定一個(gè)比例因子,數(shù)據(jù)按其縮小成定點(diǎn)小數(shù)或擴(kuò)大成定點(diǎn)整數(shù)再參加運(yùn)算,運(yùn)算結(jié)果,根據(jù)比例因子,或擴(kuò)大成定點(diǎn)整數(shù)再參加運(yùn)算,運(yùn)算結(jié)果,根據(jù)比例因子,還原成實(shí)際數(shù)值。若比例因子選擇不當(dāng),往往會使運(yùn)算結(jié)果還原成實(shí)際數(shù)值。若比例因子選擇不當(dāng),往往會使運(yùn)算結(jié)果產(chǎn)生溢出或降低數(shù)據(jù)
24、的有效精度。產(chǎn)生溢出或降低數(shù)據(jù)的有效精度。 用定點(diǎn)數(shù)進(jìn)行運(yùn)算處理的計(jì)算機(jī)被稱為用定點(diǎn)數(shù)進(jìn)行運(yùn)算處理的計(jì)算機(jī)被稱為定點(diǎn)機(jī)定點(diǎn)機(jī)。(2) (2) 浮點(diǎn)數(shù)表示法浮點(diǎn)數(shù)表示法(floating-point number)(floating-point number) 與科學(xué)計(jì)數(shù)法相似,任意一個(gè)與科學(xué)計(jì)數(shù)法相似,任意一個(gè)J J進(jìn)制數(shù)進(jìn)制數(shù)N N,總可以寫成,總可以寫成N = J E M 式中式中M M稱為數(shù)稱為數(shù) N N 的的尾數(shù)尾數(shù)(mantissa)(mantissa),是一個(gè)純小數(shù);,是一個(gè)純小數(shù);E E 為為數(shù)數(shù) N N 的的階碼階碼(exponent)(exponent),是一個(gè)整數(shù),是一個(gè)整
25、數(shù),J J稱為比例因子稱為比例因子 J JE E 的的底數(shù)底數(shù)。這種表示方法相當(dāng)于數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同。這種表示方法相當(dāng)于數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)可以自由浮動,所以稱為浮點(diǎn)表示法。而在一定范圍內(nèi)可以自由浮動,所以稱為浮點(diǎn)表示法。 底數(shù)是事先約定好的底數(shù)是事先約定好的( (常取常取2)2),在計(jì)算機(jī)中不出現(xiàn)。在機(jī),在計(jì)算機(jī)中不出現(xiàn)。在機(jī)器中表示一個(gè)浮點(diǎn)數(shù)時(shí),一是要給出尾數(shù),用定點(diǎn)小數(shù)形式表器中表示一個(gè)浮點(diǎn)數(shù)時(shí),一是要給出尾數(shù),用定點(diǎn)小數(shù)形式表示。尾數(shù)部分給出有效數(shù)字的位數(shù),因而決定了浮點(diǎn)數(shù)的表示示。尾數(shù)部分給出有效數(shù)字的位數(shù),因而決定了浮點(diǎn)數(shù)的表示精度。二是要給出階
26、碼,用整數(shù)形式表示,階碼指明小數(shù)點(diǎn)在精度。二是要給出階碼,用整數(shù)形式表示,階碼指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置,因而決定了浮點(diǎn)數(shù)的表示范圍。浮點(diǎn)數(shù)也要有數(shù)據(jù)中的位置,因而決定了浮點(diǎn)數(shù)的表示范圍。浮點(diǎn)數(shù)也要有符號位。因此一個(gè)機(jī)器浮點(diǎn)數(shù)應(yīng)當(dāng)由階碼和尾數(shù)及其符號位組符號位。因此一個(gè)機(jī)器浮點(diǎn)數(shù)應(yīng)當(dāng)由階碼和尾數(shù)及其符號位組成:成: 其中其中 E ES S 表示階碼的符號,占一位,表示階碼的符號,占一位,E E1 1E En n 為階碼值,占為階碼值,占 n n 位,尾符是數(shù)位,尾符是數(shù) N N 的符號,也要占一位。當(dāng)?shù)讛?shù)取的符號,也要占一位。當(dāng)?shù)讛?shù)取 2 2 時(shí),時(shí),二進(jìn)制數(shù)二進(jìn)制數(shù) N N 的小數(shù)點(diǎn)每右移一位
27、,階碼減小的小數(shù)點(diǎn)每右移一位,階碼減小 1 1,相應(yīng)尾數(shù)右,相應(yīng)尾數(shù)右移一位;反之,小數(shù)點(diǎn)每左移一位,階碼加移一位;反之,小數(shù)點(diǎn)每左移一位,階碼加 1 1,相應(yīng)尾數(shù)左,相應(yīng)尾數(shù)左移一位。移一位。 若不對浮點(diǎn)數(shù)的表示作出明確規(guī)定,同一個(gè)浮點(diǎn)數(shù)的表示若不對浮點(diǎn)數(shù)的表示作出明確規(guī)定,同一個(gè)浮點(diǎn)數(shù)的表示就不是唯一的。例如就不是唯一的。例如 11.01 11.01 也可以表示成也可以表示成 0.011010.011012 2-3-3 ,0.11010.11012 2-2-2 等等。為了提高數(shù)據(jù)的表示精度,當(dāng)尾數(shù)的值不等等。為了提高數(shù)據(jù)的表示精度,當(dāng)尾數(shù)的值不為為 0 0 時(shí),其絕對值應(yīng)大于等于時(shí),其絕對
28、值應(yīng)大于等于 0.50.5,即尾數(shù)域的最高有效位,即尾數(shù)域的最高有效位應(yīng)為應(yīng)為 1 1,否則要以修改階碼同時(shí)左右移小數(shù)點(diǎn)的方法,使其變,否則要以修改階碼同時(shí)左右移小數(shù)點(diǎn)的方法,使其變成這一要求的表示形式,這稱為成這一要求的表示形式,這稱為浮點(diǎn)數(shù)的規(guī)格化浮點(diǎn)數(shù)的規(guī)格化表示。表示。 當(dāng)一個(gè)浮點(diǎn)數(shù)的尾數(shù)為當(dāng)一個(gè)浮點(diǎn)數(shù)的尾數(shù)為 0 0 時(shí),不論其階碼為何值,或者時(shí),不論其階碼為何值,或者當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成 0 0 值,稱為值,稱為機(jī)器零機(jī)器零。 浮點(diǎn)數(shù)所表示的范
29、圍比定點(diǎn)數(shù)大。假設(shè)機(jī)器中的數(shù)由浮點(diǎn)數(shù)所表示的范圍比定點(diǎn)數(shù)大。假設(shè)機(jī)器中的數(shù)由 8 8 位二進(jìn)制數(shù)表示位二進(jìn)制數(shù)表示( (包括符號位包括符號位) ):在定點(diǎn)機(jī)中這:在定點(diǎn)機(jī)中這 8 8 位全部用位全部用來表示有效數(shù)字來表示有效數(shù)字( (包括符號包括符號) );在浮點(diǎn)機(jī)中若階符、階碼占;在浮點(diǎn)機(jī)中若階符、階碼占 3 3 位,尾符、尾數(shù)占位,尾符、尾數(shù)占 5 5 位,在此情況下,若只考慮正數(shù)值,位,在此情況下,若只考慮正數(shù)值,定點(diǎn)機(jī)小數(shù)表示的數(shù)的范圍是定點(diǎn)機(jī)小數(shù)表示的數(shù)的范圍是 0.0000000 0.0000000 到到 0.11111110.1111111,相當(dāng)于十進(jìn)制數(shù)的相當(dāng)于十進(jìn)制數(shù)的 0
30、0 到到 127127128128,而浮點(diǎn)機(jī)所能表示的數(shù),而浮點(diǎn)機(jī)所能表示的數(shù)的范圍則是的范圍則是 2 2 - - 11110.0001 0.0001 到到 2 211110.11110.1111,相當(dāng)于十進(jìn),相當(dāng)于十進(jìn)制數(shù)的制數(shù)的 1 1128 128 。顯然,都用。顯然,都用 8 8 位,浮點(diǎn)機(jī)能表示的數(shù)的位,浮點(diǎn)機(jī)能表示的數(shù)的范圍比定點(diǎn)機(jī)大得多。范圍比定點(diǎn)機(jī)大得多。 盡管浮點(diǎn)表示能擴(kuò)大數(shù)據(jù)的表示范圍,但浮點(diǎn)機(jī)在運(yùn)算盡管浮點(diǎn)表示能擴(kuò)大數(shù)據(jù)的表示范圍,但浮點(diǎn)機(jī)在運(yùn)算過程中,仍會出現(xiàn)溢出現(xiàn)象。下面以階碼占過程中,仍會出現(xiàn)溢出現(xiàn)象。下面以階碼占 3 3 位,尾數(shù)占位,尾數(shù)占 5 5 位位( (各
31、包括各包括 1 1 位符號位位符號位) )為例,來討論這個(gè)問題。圖為例,來討論這個(gè)問題。圖 2-3 2-3 給給出了相應(yīng)的規(guī)格化浮點(diǎn)數(shù)的數(shù)值表示范圍。出了相應(yīng)的規(guī)格化浮點(diǎn)數(shù)的數(shù)值表示范圍。 圖圖2-3 2-3 規(guī)格化浮點(diǎn)數(shù)分布示意圖規(guī)格化浮點(diǎn)數(shù)分布示意圖 圖中,圖中,“可表示的負(fù)數(shù)區(qū)域可表示的負(fù)數(shù)區(qū)域”和和“可表示的正數(shù)區(qū)域可表示的正數(shù)區(qū)域”及及“0”0”,是機(jī)器可表示的數(shù)據(jù)區(qū)域;上溢區(qū)是數(shù)據(jù)絕對值太大,是機(jī)器可表示的數(shù)據(jù)區(qū)域;上溢區(qū)是數(shù)據(jù)絕對值太大,機(jī)器無法表示的區(qū)域;下溢區(qū)是數(shù)據(jù)絕對值太小,機(jī)器無法表示機(jī)器無法表示的區(qū)域;下溢區(qū)是數(shù)據(jù)絕對值太小,機(jī)器無法表示的區(qū)域。若運(yùn)算結(jié)果落在上溢區(qū),就
32、產(chǎn)生了溢出錯(cuò)誤,使得結(jié)果的區(qū)域。若運(yùn)算結(jié)果落在上溢區(qū),就產(chǎn)生了溢出錯(cuò)誤,使得結(jié)果不能被正確表示,要停止機(jī)器運(yùn)行,進(jìn)行溢出處理。若運(yùn)算結(jié)果不能被正確表示,要停止機(jī)器運(yùn)行,進(jìn)行溢出處理。若運(yùn)算結(jié)果落在下溢區(qū),也不能正確表示之,機(jī)器當(dāng)落在下溢區(qū),也不能正確表示之,機(jī)器當(dāng) 0 0 處理,稱為機(jī)器零。處理,稱為機(jī)器零。 一般來說,增加尾數(shù)的位數(shù),將增加可表示區(qū)一般來說,增加尾數(shù)的位數(shù),將增加可表示區(qū)域數(shù)據(jù)點(diǎn)的密度,從而提高了數(shù)據(jù)的精度;增加階域數(shù)據(jù)點(diǎn)的密度,從而提高了數(shù)據(jù)的精度;增加階碼的位數(shù),能增大可表示的數(shù)據(jù)區(qū)域。碼的位數(shù),能增大可表示的數(shù)據(jù)區(qū)域。3.3.原碼、反碼和補(bǔ)碼原碼、反碼和補(bǔ)碼 有符號數(shù)在
33、計(jì)算機(jī)中的表示有原碼表示法,反碼表示法,有符號數(shù)在計(jì)算機(jī)中的表示有原碼表示法,反碼表示法,補(bǔ)碼表示法,它們表示的范圍和計(jì)算機(jī)的字長有關(guān)。補(bǔ)碼表示法,它們表示的范圍和計(jì)算機(jī)的字長有關(guān)。 原碼、原碼、反碼和補(bǔ)碼用于將二進(jìn)制有符號數(shù)的正、負(fù)號也用二進(jìn)制編碼反碼和補(bǔ)碼用于將二進(jìn)制有符號數(shù)的正、負(fù)號也用二進(jìn)制編碼來表示,它們所代表的實(shí)際數(shù)值稱為來表示,它們所代表的實(shí)際數(shù)值稱為“真值真值”。 原碼原碼是直接在真值的絕對值之前增加一個(gè)符號位,并取是直接在真值的絕對值之前增加一個(gè)符號位,并取正數(shù)的符號為正數(shù)的符號為0 0,負(fù)數(shù)的符號為,負(fù)數(shù)的符號為1 1。正數(shù)的反碼、補(bǔ)碼與原碼。正數(shù)的反碼、補(bǔ)碼與原碼相同,負(fù)
34、數(shù)的反碼為原碼的符號位不變其他位變反而得,負(fù)相同,負(fù)數(shù)的反碼為原碼的符號位不變其他位變反而得,負(fù)數(shù)的補(bǔ)碼為原碼的符號位不變其他位變反十?dāng)?shù)的補(bǔ)碼為原碼的符號位不變其他位變反十l l而得。而得。例【例【2-32-3】(】(8 8位二進(jìn)制數(shù)的原、反和補(bǔ)碼)位二進(jìn)制數(shù)的原、反和補(bǔ)碼) -107= -6BH= -1101011B11101011B(原)(原)=10010100 B(反)(反) 1001010lB(補(bǔ))(補(bǔ)) =EB H(原)(原)=94 H(反)(反)= 95 H(補(bǔ))(補(bǔ))107=6B H原)原)=6B H(反)(反)=6B H(補(bǔ))(補(bǔ))4.4.二進(jìn)制數(shù)據(jù)的表示范圍二進(jìn)制數(shù)據(jù)的表示范
35、圍 二進(jìn)制數(shù)據(jù)的表示范圍要分有符號數(shù)還是無符號數(shù)。二進(jìn)制數(shù)據(jù)的表示范圍要分有符號數(shù)還是無符號數(shù)。無符號數(shù)的所有二進(jìn)制位(無符號數(shù)的所有二進(jìn)制位(bitbit)均作為數(shù)值位;有符號數(shù))均作為數(shù)值位;有符號數(shù)的最高位代表符號位,的最高位代表符號位,l l代表負(fù)、代表負(fù)、0 0代表正,其余位才是數(shù)代表正,其余位才是數(shù)值位。值位。 n n位二進(jìn)制無符號數(shù)的表示范圍為位二進(jìn)制無符號數(shù)的表示范圍為 0 0(2(2n n -1 ) -1 )。n n位二進(jìn)制有符號數(shù)的表示范圍還要再看其用的是什么編碼位二進(jìn)制有符號數(shù)的表示范圍還要再看其用的是什么編碼方案,補(bǔ)碼為方案,補(bǔ)碼為- 2n-1 (+2n-1-1 ) 。
36、計(jì)算機(jī)中內(nèi)外存容量以字。計(jì)算機(jī)中內(nèi)外存容量以字節(jié)(節(jié)(B B,ByteByte)為單位,一個(gè)字節(jié)由)為單位,一個(gè)字節(jié)由8 8個(gè)二進(jìn)制位構(gòu)成(即個(gè)二進(jìn)制位構(gòu)成(即1B=8 b1B=8 b)。)。8 8位二進(jìn)制數(shù)(位二進(jìn)制數(shù)(1 1字節(jié))的無符號數(shù)表示范圍為字節(jié))的無符號數(shù)表示范圍為 0 0255255,有符號補(bǔ)碼表示范圍為,有符號補(bǔ)碼表示范圍為-128-128127127;1616位二進(jìn)制位二進(jìn)制(2 2字節(jié))的無符號數(shù)表示范圍為字節(jié))的無符號數(shù)表示范圍為 0 06553565535,有符號補(bǔ)碼,有符號補(bǔ)碼表示范圍為表示范圍為-32768-327683276732767。5.5.真值與補(bǔ)碼(無符
37、號數(shù))之間的直接轉(zhuǎn)換真值與補(bǔ)碼(無符號數(shù))之間的直接轉(zhuǎn)換 正數(shù)的真值與補(bǔ)碼(無符號數(shù))完全相同,負(fù)數(shù)的真值與正數(shù)的真值與補(bǔ)碼(無符號數(shù))完全相同,負(fù)數(shù)的真值與補(bǔ)碼(無符號數(shù))之間的直接轉(zhuǎn)換方法如圖補(bǔ)碼(無符號數(shù))之間的直接轉(zhuǎn)換方法如圖2-42-4所示(所示(0 0在用在用n n位二進(jìn)制補(bǔ)碼表示時(shí)也代表位二進(jìn)制補(bǔ)碼表示時(shí)也代表2 2n n) )。例【例【2-4】 8位二進(jìn)制數(shù):位二進(jìn)制數(shù): 20=14 H(補(bǔ))(補(bǔ))= 20(無)(無) - 5= 0-5FB H(補(bǔ))(補(bǔ))= 251(無)(無) -1200-1200-78 H88 H(補(bǔ))(補(bǔ))= 136(無)(無) F8 H(補(bǔ))(補(bǔ))=24
38、8(無)(無)= -(0-F8H)=-08 H=-(256248)=-8(有)有) 5C H(補(bǔ))(補(bǔ))92(無)(無)= 92(有)(有) 16位二進(jìn)制數(shù):位二進(jìn)制數(shù): 20= 0014 H(補(bǔ))(補(bǔ))20(無)(無) -50-5FFFBH(補(bǔ))(補(bǔ))65531(無)(無) -120= 0- 1200-78 H= FF88H(補(bǔ))(補(bǔ))65 416(無)(無) FFC6 H(補(bǔ))(補(bǔ))0000 H-(0000 HFFC6 H)65536-5865478(無)(無) =-(0-FFC6 H)= -3A H=- 58(有)(有)=-(6553665478)= - 58(有)(有) 048F H1
39、024128151165(無)(無)=1165(有)(有)2022-6-12352.3 2.3 數(shù)的運(yùn)算數(shù)的運(yùn)算1.1.二進(jìn)制數(shù)的邏輯運(yùn)算二進(jìn)制數(shù)的邏輯運(yùn)算 計(jì)算機(jī)除了能夠進(jìn)行基算術(shù)運(yùn)算外,還可以進(jìn)行邏輯運(yùn)計(jì)算機(jī)除了能夠進(jìn)行基算術(shù)運(yùn)算外,還可以進(jìn)行邏輯運(yùn)算。計(jì)算機(jī)中的邏輯運(yùn)算,主要由算。計(jì)算機(jī)中的邏輯運(yùn)算,主要由“邏輯非邏輯非”、“邏輯與邏輯與”、“邏輯或邏輯或”和和“邏輯異或邏輯異或”等等4 4種基本運(yùn)算。種基本運(yùn)算。(1 1) 邏輯非邏輯非 邏輯非也稱邏輯非也稱“求反求反”。對二進(jìn)制數(shù)進(jìn)行邏輯非運(yùn)算,。對二進(jìn)制數(shù)進(jìn)行邏輯非運(yùn)算,就是按位求它的反,常用變量上方加一橫來表示。就是按位求它的反,
40、常用變量上方加一橫來表示。(2 2) 邏輯與邏輯與 對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯與,就是按位求它們的對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯與,就是按位求它們的“乘乘”,所以邏輯與又稱為邏輯乘,常用記號所以邏輯與又稱為邏輯乘,常用記號“”表示。位二進(jìn)制表示。位二進(jìn)制數(shù)邏輯與的規(guī)則為:數(shù)邏輯與的規(guī)則為: 00=0,0=0,10=0,11=1。(3 3) 邏輯或邏輯或 對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯或,就是按位求它們的對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯或,就是按位求它們的“加加”,所以邏輯或又稱為不帶進(jìn)位的邏輯加,常用記號所以邏輯或又稱為不帶進(jìn)位的邏輯加,常用記號“”表示。表示。位二進(jìn)制數(shù)邏輯或的規(guī)則為:位二進(jìn)制數(shù)邏輯或的規(guī)則為: 00=0
41、00=0,01=101=1,10=110=1,11=111=1。 (4 4)邏輯異或)邏輯異或 對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯異或,就是按位求它們的模對兩個(gè)二進(jìn)制數(shù)進(jìn)行邏輯異或,就是按位求它們的模2 2和,所以邏輯異或又稱不帶進(jìn)的按位加,常用符號和,所以邏輯異或又稱不帶進(jìn)的按位加,常用符號“”來表示。位二進(jìn)制數(shù)的邏輯異或運(yùn)算規(guī)則為:來表示。位二進(jìn)制數(shù)的邏輯異或運(yùn)算規(guī)則為: 00=000=0,01=101=1,10=110=1,11=011=0。2.2.算術(shù)運(yùn)算算術(shù)運(yùn)算(1 1)二進(jìn)制加法)二進(jìn)制加法 二進(jìn)制加法的規(guī)則為:二進(jìn)制加法的規(guī)則為: 0+0=00+0=00+1=1+0=10+1=1+0=11+
42、1=0 1+1=0 進(jìn)位進(jìn)位1 11+1+1=1 1+1+1=1 進(jìn)位進(jìn)位1 1二進(jìn)制減法的運(yùn)算規(guī)則為:二進(jìn)制減法的運(yùn)算規(guī)則為:0-0=00-0=01-1=01-1=01-0=11-0=10-1=1 0-1=1 有借位有借位(2 2)二進(jìn)制減法)二進(jìn)制減法(3 3)二進(jìn)制乘法)二進(jìn)制乘法二進(jìn)制乘法的運(yùn)算規(guī)則為:二進(jìn)制乘法的運(yùn)算規(guī)則為:0 00=0 0=0 1 10=00=00 01=0 1=0 1 11=11=1乘法的運(yùn)算規(guī)則表明只有當(dāng)兩個(gè)乘法的運(yùn)算規(guī)則表明只有當(dāng)兩個(gè)1 1相乘時(shí),積才相乘時(shí),積才為為1 1,否則積為,否則積為0 0。(4 4)二進(jìn)制除法)二進(jìn)制除法 除法是乘法的逆運(yùn)算,與十進(jìn)
43、制的類似,從被除數(shù)的最高除法是乘法的逆運(yùn)算,與十進(jìn)制的類似,從被除數(shù)的最高位位MSB(Most Significant Bit)MSB(Most Significant Bit)開始檢查,并定出需要超過除開始檢查,并定出需要超過除數(shù)的位數(shù)。找到這個(gè)位時(shí)上記數(shù)的位數(shù)。找到這個(gè)位時(shí)上記1 1,并把選定的被除數(shù)值減除數(shù)。,并把選定的被除數(shù)值減除數(shù)。然后把被除數(shù)的下一位下移到余數(shù)上。如果余數(shù)不能減去除數(shù)然后把被除數(shù)的下一位下移到余數(shù)上。如果余數(shù)不能減去除數(shù)(不夠減)則商(不夠減)則商0 0,把被除數(shù)的下一位移到余數(shù)上;若余數(shù)夠,把被除數(shù)的下一位移到余數(shù)上;若余數(shù)夠減則上減則上1 1,余數(shù)減去除數(shù),把被
44、除數(shù)的下一位移到余數(shù)上,余數(shù)減去除數(shù),把被除數(shù)的下一位移到余數(shù)上 這樣繼續(xù)下去,直到全部被除數(shù)的位都下移完為止。然后這樣繼續(xù)下去,直到全部被除數(shù)的位都下移完為止。然后把余數(shù)把余數(shù)/ /除數(shù)作為商的分?jǐn)?shù),表示在商中。除數(shù)作為商的分?jǐn)?shù),表示在商中。3.3.帶符號二進(jìn)制數(shù)的表示與運(yùn)算帶符號二進(jìn)制數(shù)的表示與運(yùn)算 我們用我們用0 0表示表示“”號,用號,用1 1表示表示“”號,并且符號號,并且符號放在最高有效位。一個(gè)放在最高有效位。一個(gè)8 8位的二進(jìn)制表示一個(gè)帶符號數(shù),最位的二進(jìn)制表示一個(gè)帶符號數(shù),最高有效位高有效位D7D7位為符號位。位為符號位。 如:如: 1 1表示為:表示為: 0 0 0 0 0
45、0 0 1 B0 0 0 0 0 0 0 1 B 127127表示為:表示為: 0 1 1 1 1 1 1 1 B 0 1 1 1 1 1 1 1 B 1 1表示為:表示為: 1 0 0 0 0 0 0 1 B 1 0 0 0 0 0 0 1 B 127127表示為:表示為: 1 1 1 1 1 1 1 1 B1 1 1 1 1 1 1 1 B 用此方法表示的帶符號數(shù),在進(jìn)行運(yùn)算時(shí)遇到了問題:用此方法表示的帶符號數(shù),在進(jìn)行運(yùn)算時(shí)遇到了問題:1 1加加1 1的運(yùn)算是最明顯的例子。的運(yùn)算是最明顯的例子。 (1) 0 0 0 0 0 0 0 1 (1) 1 0 0 0 0 0 0 1 0 1 0 0
46、 0 0 0 1 0 2原因:是符號位也參加運(yùn)算,計(jì)算機(jī)并不知道那是符號。原因:是符號位也參加運(yùn)算,計(jì)算機(jī)并不知道那是符號。解決方法:解決方法: 改變其表示方式。改變其表示方式。 4.4.補(bǔ)碼運(yùn)算補(bǔ)碼運(yùn)算如何解決:改變帶符號數(shù)的表示方法如何解決:改變帶符號數(shù)的表示方法n補(bǔ)碼表示補(bǔ)碼表示1 1位十進(jìn)制:若以位十進(jìn)制:若以1010為模為模3 3和和7 7互補(bǔ)互補(bǔ) 10107 73 3 ,10103 31313,若丟棄進(jìn)位,則若丟棄進(jìn)位,則10107 7和和10103 3所得結(jié)果相同;故減所得結(jié)果相同;故減7 7可以用加可以用加3 3來運(yùn)算來運(yùn)算8-7=1 8+3=11 8-7=1 8+3=11 (
47、一位數(shù)的補(bǔ)碼運(yùn)算)(一位數(shù)的補(bǔ)碼運(yùn)算)前提是必須丟棄進(jìn)位,而計(jì)算機(jī)的結(jié)構(gòu)正好滿足這個(gè)前提是必須丟棄進(jìn)位,而計(jì)算機(jī)的結(jié)構(gòu)正好滿足這個(gè)條件。條件。5.5.二進(jìn)制補(bǔ)碼表示法二進(jìn)制補(bǔ)碼表示法 考慮到計(jì)算機(jī)的數(shù)據(jù)位長度一定,因而可用補(bǔ)數(shù)的編考慮到計(jì)算機(jī)的數(shù)據(jù)位長度一定,因而可用補(bǔ)數(shù)的編碼形式表示帶符號數(shù)。在進(jìn)行運(yùn)算時(shí),丟棄進(jìn)位,就可得碼形式表示帶符號數(shù)。在進(jìn)行運(yùn)算時(shí),丟棄進(jìn)位,就可得到正確結(jié)果。到正確結(jié)果。 對一正的二進(jìn)制數(shù)的每位求反再加對一正的二進(jìn)制數(shù)的每位求反再加1 1,即可得在機(jī)器,即可得在機(jī)器中表示的該數(shù)的負(fù)數(shù),稱補(bǔ)碼表示法。在這種編碼方式中,中表示的該數(shù)的負(fù)數(shù),稱補(bǔ)碼表示法。在這種編碼方式中,
48、正數(shù)的補(bǔ)碼就是該正數(shù)。以正數(shù)的補(bǔ)碼就是該正數(shù)。以8 8位二進(jìn)制為例,求一負(fù)數(shù)的位二進(jìn)制為例,求一負(fù)數(shù)的補(bǔ)碼。補(bǔ)碼。例【例【2-52-5】 45H 0 1 0 0 0 1 0 1 45H 0 1 0 0 0 1 0 1 每位求反每位求反 1 0 1 1 1 0 1 01 0 1 1 1 0 1 0 加加1 1 1 1 45H 1 0 1 1 1 0 1 1 6. 6.帶符號數(shù)的運(yùn)算帶符號數(shù)的運(yùn)算 帶符號數(shù)在計(jì)算機(jī)中用其補(bǔ)碼表示后,其運(yùn)算方法與帶符號數(shù)在計(jì)算機(jī)中用其補(bǔ)碼表示后,其運(yùn)算方法與二進(jìn)制運(yùn)算相同,但也會出現(xiàn)其特有的問題。二進(jìn)制運(yùn)算相同,但也會出現(xiàn)其特有的問題。 u減法可用加上該數(shù)的補(bǔ),丟棄
49、進(jìn)位運(yùn)算完成。減法可用加上該數(shù)的補(bǔ),丟棄進(jìn)位運(yùn)算完成。 例【例【2-62-6】用補(bǔ)碼運(yùn)算方法完成(】用補(bǔ)碼運(yùn)算方法完成(+1+1)+ +(-1-1)的運(yùn)算)的運(yùn)算例【例【2-72-7】 完成(完成(-1FH-1FH)+(-4AH)+(-4AH)運(yùn)算運(yùn)算例【例【2-82-8】 完成(完成(+6EH+6EH)+(-7CH)+(-7CH)u帶符號數(shù)在加、減運(yùn)算時(shí)的溢出問題帶符號數(shù)在加、減運(yùn)算時(shí)的溢出問題 兩數(shù)都為正數(shù),這時(shí)加法的進(jìn)位進(jìn)入符號位,使符號兩數(shù)都為正數(shù),這時(shí)加法的進(jìn)位進(jìn)入符號位,使符號 位為位為1 1 。 同理,兩數(shù)都為負(fù)數(shù),這時(shí)加法的進(jìn)位進(jìn)入符號位,使同理,兩數(shù)都為負(fù)數(shù),這時(shí)加法的進(jìn)位進(jìn)
50、入符號位,使符號位為符號位為0 0 。 一個(gè)正數(shù)和一個(gè)負(fù)數(shù)或兩個(gè)較小的正、負(fù)數(shù)相加,一般一個(gè)正數(shù)和一個(gè)負(fù)數(shù)或兩個(gè)較小的正、負(fù)數(shù)相加,一般不會溢出。不會溢出。 要注意兩個(gè)較小的負(fù)數(shù)問題,因負(fù)數(shù)用其補(bǔ)碼表示,所要注意兩個(gè)較小的負(fù)數(shù)問題,因負(fù)數(shù)用其補(bǔ)碼表示,所以看似大的數(shù)實(shí)際較小。以看似大的數(shù)實(shí)際較小。u帶符號數(shù)的符號擴(kuò)展表示帶符號數(shù)的符號擴(kuò)展表示 在計(jì)算機(jī)系統(tǒng)中,由于在計(jì)算機(jī)系統(tǒng)中,由于CPUCPU的數(shù)據(jù)寬度有的數(shù)據(jù)寬度有8 8位、位、1616位、位、3232位、甚至位、甚至6464位之分,而存儲器的數(shù)據(jù)總是以位之分,而存儲器的數(shù)據(jù)總是以8 8位(字節(jié))位(字節(jié))寬度組織。在某些運(yùn)算時(shí)需要將寬度組
51、織。在某些運(yùn)算時(shí)需要將8 8位數(shù)據(jù)擴(kuò)展成位數(shù)據(jù)擴(kuò)展成1616位或位或者將者將1616位數(shù)位數(shù) 擴(kuò)展成擴(kuò)展成3232位等。位等。 對無符號數(shù)擴(kuò)展,僅在其數(shù)據(jù)之前加上若干位對無符號數(shù)擴(kuò)展,僅在其數(shù)據(jù)之前加上若干位0 0即可。即可。 而帶符號數(shù)的擴(kuò)展實(shí)際是擴(kuò)展其符號,即正數(shù)前補(bǔ)而帶符號數(shù)的擴(kuò)展實(shí)際是擴(kuò)展其符號,即正數(shù)前補(bǔ)8 8個(gè)個(gè)(或(或1616個(gè))個(gè))0 0,負(fù)數(shù)前補(bǔ),負(fù)數(shù)前補(bǔ)8 8個(gè)(或個(gè)(或1616個(gè))個(gè))1 1。如如 :5 5的的1616位表示位表示 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 5 5的的161
52、6位表示位表示 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 11 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 3EH3EH的的1616位表示位表示0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 00 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 3EH3EH的的1616位表示位表示1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 01 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0u實(shí)型數(shù)的表示實(shí)型數(shù)的表示 一般一般8 8位和位和1616位的微處理機(jī)都是基于定點(diǎn)運(yùn)算,不具備位的微處理機(jī)都是基于定點(diǎn)運(yùn)算,不具備通用計(jì)
53、算機(jī)那樣復(fù)雜的數(shù)值運(yùn)算指令,浮點(diǎn)和長整數(shù)的運(yùn)算通用計(jì)算機(jī)那樣復(fù)雜的數(shù)值運(yùn)算指令,浮點(diǎn)和長整數(shù)的運(yùn)算要用軟件處理,因而速度慢。要用軟件處理,因而速度慢。8038680386、8048680486等等CPUCPU中配置了中配置了專門用于處理浮點(diǎn)運(yùn)算的部件。浮點(diǎn)部件所處理的實(shí)型數(shù)專門用于處理浮點(diǎn)運(yùn)算的部件。浮點(diǎn)部件所處理的實(shí)型數(shù)(又稱浮點(diǎn)數(shù))形式是:(又稱浮點(diǎn)數(shù))形式是: (-1)S2E(b0b1b2.bp-1)(-1)S2E(b0b1b2.bp-1)。 其中其中S S是符號位,是符號位,0 0為正,為正,1 1為負(fù);為負(fù);E E為指數(shù)(稱階碼),為指數(shù)(稱階碼),是一個(gè)二進(jìn)制整數(shù);是一個(gè)二進(jìn)制整數(shù)
54、;bibi為二進(jìn)制有效數(shù)字位(稱尾數(shù)),為二進(jìn)制有效數(shù)字位(稱尾數(shù)),p p為精度位數(shù)。為精度位數(shù)。二進(jìn)制位二進(jìn)制位數(shù)數(shù)階碼位數(shù)階碼位數(shù) 階碼偏置階碼偏置 尾數(shù)位數(shù)尾數(shù)位數(shù) 單精度單精度 32 32 8 8 127 127(7FH7FH) 23 23 雙精度雙精度 64 64 11 11 1023 1023(3FFH3FFH) 52 52 擴(kuò)展精度擴(kuò)展精度 80 80 15 15 64 642022-6-12522.4 2.4 碼制及轉(zhuǎn)換碼制及轉(zhuǎn)換1.1.十進(jìn)制數(shù)字的編碼(十進(jìn)制數(shù)字的編碼(BCDBCD碼)碼) 在計(jì)算機(jī)內(nèi)部常用的數(shù)字編碼是在計(jì)算機(jī)內(nèi)部常用的數(shù)字編碼是BCD(BCD(二十進(jìn)制二
55、十進(jìn)制) )碼。這碼。這種編碼將每位十進(jìn)制數(shù)字編成種編碼將每位十進(jìn)制數(shù)字編成4 4位二進(jìn)制代碼,從而用二進(jìn)制位二進(jìn)制代碼,從而用二進(jìn)制數(shù)來表示十進(jìn)制數(shù),常見的數(shù)來表示十進(jìn)制數(shù),常見的BCDBCD碼有碼有84218421碼、碼、24212421碼以及余碼以及余3 3碼碼等。但最常用的等。但最常用的BCDBCD碼是標(biāo)準(zhǔn)碼是標(biāo)準(zhǔn)BCDBCD碼或稱碼或稱84218421碼。碼。 BCD BCD碼又分為壓縮碼又分為壓縮BCDBCD碼和非壓縮碼和非壓縮BCDBCD碼。壓縮碼。壓縮BCDBCD碼是用碼是用4 4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),一個(gè)字節(jié)可以表示一位十進(jìn)位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),一個(gè)字節(jié)可以表示一
56、位十進(jìn)制(制(00990099);非壓縮);非壓縮BCDBCD是用是用8 8位二進(jìn)制代碼表示一位十進(jìn)制位二進(jìn)制代碼表示一位十進(jìn)制數(shù),高數(shù),高4 4位無效,一個(gè)字節(jié)只能表示一位十進(jìn)制數(shù)(位無效,一個(gè)字節(jié)只能表示一位十進(jìn)制數(shù)(0909),),高高4 4位為位為0 0時(shí)則叫標(biāo)準(zhǔn)非壓縮時(shí)則叫標(biāo)準(zhǔn)非壓縮BCDBCD碼。碼。 例如十進(jìn)制例如十進(jìn)制5858的壓縮的壓縮BCDBCD碼為碼為58H58H,其標(biāo)準(zhǔn)非壓縮,其標(biāo)準(zhǔn)非壓縮BCDBCD碼為碼為0508H0508H。 表表2-22-2列出了標(biāo)準(zhǔn)列出了標(biāo)準(zhǔn)BCDBCD碼與十進(jìn)制數(shù)字的編碼關(guān)系。碼與十進(jìn)制數(shù)字的編碼關(guān)系。十進(jìn)制基數(shù)為十進(jìn)制基數(shù)為1010,它有,
57、它有1010個(gè)不同的數(shù)碼。因此為了能表個(gè)不同的數(shù)碼。因此為了能表示十進(jìn)制數(shù)的某一位,必須選擇至少示十進(jìn)制數(shù)的某一位,必須選擇至少4 4位二進(jìn)制數(shù)。位二進(jìn)制數(shù)。 注意:為了避免格式與純二進(jìn)制碼混淆,常在每注意:為了避免格式與純二進(jìn)制碼混淆,常在每4 4位二進(jìn)制位二進(jìn)制數(shù)之間留一空格。數(shù)之間留一空格。這種表示也適合十進(jìn)制小數(shù)。如十進(jìn)制小數(shù)這種表示也適合十進(jìn)制小數(shù)。如十進(jìn)制小數(shù)0.4560.456可以表示成:可以表示成:0.0100 0101 01100.0100 0101 0110。2.2.字符及字符串的表示方法(字符及字符串的表示方法(ASCII ASCII 碼)碼) 現(xiàn)代計(jì)算機(jī)中不僅進(jìn)行數(shù)值計(jì)
58、算,而且要處理大量非數(shù)現(xiàn)代計(jì)算機(jī)中不僅進(jìn)行數(shù)值計(jì)算,而且要處理大量非數(shù)值的問題。特別是處理辦公領(lǐng)域的文本信息。字符是計(jì)算機(jī)值的問題。特別是處理辦公領(lǐng)域的文本信息。字符是計(jì)算機(jī)中使用最多的信息形式之一,是人與計(jì)算機(jī)交互、通信的工中使用最多的信息形式之一,是人與計(jì)算機(jī)交互、通信的工具。在計(jì)算機(jī)中,要為每個(gè)字符指定一個(gè)確定的編碼,作為具。在計(jì)算機(jī)中,要為每個(gè)字符指定一個(gè)確定的編碼,作為輸入、存儲、處理和輸出有關(guān)字符的依據(jù)。字符編碼也是利輸入、存儲、處理和輸出有關(guān)字符的依據(jù)。字符編碼也是利用二進(jìn)制數(shù)的符號用二進(jìn)制數(shù)的符號“0”0”和和“1”1”進(jìn)行的。進(jìn)行的。 目前國際上廣泛采用的字符系統(tǒng)是用目前國際
59、上廣泛采用的字符系統(tǒng)是用7 7位二進(jìn)制信息表位二進(jìn)制信息表示的美國國家信息交換標(biāo)準(zhǔn)代碼示的美國國家信息交換標(biāo)準(zhǔn)代碼(American Standard Code (American Standard Code for Information Interchange)for Information Interchange),簡稱,簡稱 ASCII ASCII 碼碼。 它包括它包括1010個(gè)十進(jìn)制數(shù)字,個(gè)十進(jìn)制數(shù)字,2626個(gè)英文字母和一些專用符號,個(gè)英文字母和一些專用符號,總共總共128128個(gè)元素,因此二進(jìn)制編碼需要個(gè)元素,因此二進(jìn)制編碼需要7 7位,加上一個(gè)偶校驗(yàn)位,加上一個(gè)偶校驗(yàn)位,共位,
60、共8 8位,剛好為一個(gè)字節(jié)。位,剛好為一個(gè)字節(jié)。ASCII ASCII 碼和碼和128128個(gè)字符的對應(yīng)個(gè)字符的對應(yīng)關(guān)系如表關(guān)系如表2-32-3所示。所示。 ASCII ASCII 碼是碼是128128個(gè)字符組成的字符集。個(gè)字符組成的字符集。ASCII ASCII 碼規(guī)定每個(gè)碼規(guī)定每個(gè)字符用字符用7 7位二進(jìn)制數(shù)表示,表中橫坐標(biāo)是第位二進(jìn)制數(shù)表示,表中橫坐標(biāo)是第6 6、5 5、4 4位,縱坐標(biāo)位,縱坐標(biāo)是第是第3 3、2 2、1 1、0 0位。位。 字符串是指連續(xù)的一串字符,在主存中通常占用連續(xù)的多字符串是指連續(xù)的一串字符,在主存中通常占用連續(xù)的多個(gè)字節(jié),每個(gè)字節(jié)存放一個(gè)字符。當(dāng)主存單元中一個(gè)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)護(hù)理試題(含答案)
- 2025鋼結(jié)構(gòu)人行天橋施工合同
- 課題申報(bào)參考:旅游賦能稻作梯田生態(tài)產(chǎn)品增值增效路徑研究
- 課題申報(bào)參考:跨模態(tài)時(shí)序信息融合的在線學(xué)習(xí)者細(xì)粒度情感分析與調(diào)節(jié)策略研究
- 【深度分析】可再生能源新政何以推動綠證市場發(fā)展-國金證券
- 二零二五年度電梯智能化系統(tǒng)研發(fā)與應(yīng)用合同4篇
- 去健身房鍛煉身體的說說范文
- 2025年粵教新版九年級歷史上冊月考試卷含答案
- 2025年華師大新版八年級物理下冊月考試卷含答案
- 2025年新世紀(jì)版選擇性必修二化學(xué)下冊月考試卷
- 安檢人員培訓(xùn)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 英語試題
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識》備考題庫(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測卷(一)試題和答案
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 潤滑油過濾培訓(xùn)
評論
0/150
提交評論