




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)表示與運(yùn)算方法計(jì)算機(jī)組成與實(shí)現(xiàn)目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算數(shù)的表示方法在計(jì)算機(jī)中,任何對(duì)象都被表示為一組0/1串即使是上面這句話,也是由一組0/1串構(gòu)成的!這就是所謂的二進(jìn)制表示如何用二進(jìn)制表示數(shù)呢?讓我們從熟悉的十進(jìn)制開(kāi)始介紹十進(jìn)制數(shù)的表示方法示例:10進(jìn)制的1234,其值的計(jì)算過(guò)程可以表示為從上例可以看出,每一位數(shù)都包含了基和權(quán)兩部分基:base;權(quán):weight123410的角標(biāo)10代表十進(jìn)制。由于十進(jìn)制是人類的習(xí)慣表達(dá)方式,因此在很多時(shí)候人們會(huì)省略這個(gè)角標(biāo)。數(shù)的一般表示方法對(duì)于任意一個(gè)數(shù),如dn-1dn-2...d1d0,其值表示為dn-1
Bn-1+dn-2
Bn-2+...+d1
B1+d0
B0其中dn-1,dn-2,...d1,d0是該進(jìn)制的可能取值例如十進(jìn)制,可能取值為{0,1,2,3,4,5,6,7,8,9}二進(jìn)制的表示方法二進(jìn)制數(shù)的每位也被稱為比特(bit)二進(jìn)制的基能夠表示的數(shù)字范圍只有2個(gè)數(shù),即{0,1}N位二進(jìn)制數(shù)的各位權(quán)從最低位到最高位分別為20,21,…,2N-1示例:110112常見(jiàn)數(shù)制十進(jìn)制各位可能取值:0,1,2,3,4,5,6,7,8,9示例:947210
=9472二進(jìn)制各位可能取值:0,1示例:1010112
=0b101011十六進(jìn)制各位可能取值:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F示例:2A5D16
=0x2A5D十進(jìn)制二進(jìn)制十六進(jìn)制000000100001200002300003400004500005600006700007800008900009100000A110000B120000C130000D140000E150000F不同數(shù)制的示例示例
947210
= 9000 +400 +70 +2
9x1000 +4x100 +7x10 +2x1
9x103 +4x102 +7x101 +2x100
947210
= 2x163 +5x162 +0x161 +0x160
947210
= 250016
0xA15= 0b101000010101進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)二進(jìn)制用十進(jìn)制數(shù)除以2,得到的余數(shù)就是相應(yīng)二進(jìn)制的最低位將得到的商繼續(xù)除以2,得到的余數(shù)就是次低位重復(fù)上述過(guò)程直至商為0示例:27的二進(jìn)制計(jì)算過(guò)程2710=110112步驟被除數(shù)商余數(shù)備注127131最低位21361
3630
4311
5101最高位進(jìn)制轉(zhuǎn)換十六進(jìn)制與二進(jìn)制兩者之間轉(zhuǎn)換非常簡(jiǎn)單,基本方法是:每4位二進(jìn)制對(duì)應(yīng)1位十六進(jìn)制示例:1101011010110112與6C5B16之間的轉(zhuǎn)換二進(jìn)制110110001011011十六進(jìn)制6C5B手工轉(zhuǎn)換時(shí),注意從低位開(kāi)始轉(zhuǎn)換,以防止高位不足4位導(dǎo)致出錯(cuò)。進(jìn)制轉(zhuǎn)換十進(jìn)制轉(zhuǎn)十六進(jìn)制先將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)再二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算字節(jié)、字字節(jié)(byte):由8個(gè)二進(jìn)制位構(gòu)成的一個(gè)元組,是目前計(jì)算機(jī)數(shù)據(jù)單位1個(gè)byte的表示范圍是從0x00至0xFF,即總共是256個(gè)數(shù)字字(word):一個(gè)字包含的二進(jìn)制位數(shù)因計(jì)算機(jī)不同而不同不同CPU計(jì)算能力不同,因此其字的大小也不同以MIPS為例,CPU能計(jì)算的數(shù)據(jù)大小為32位,故其字長(zhǎng)為32位大量當(dāng)代計(jì)算機(jī),如PC、服務(wù)器甚至手機(jī),CPU字長(zhǎng)已經(jīng)發(fā)展到64位了在一些專用領(lǐng)域,CPU的字長(zhǎng)甚至達(dá)到128位嵌入式領(lǐng)域中的某些CPU字長(zhǎng)可能只有16位甚至8位最高/最低有效位、最高/最低有效字節(jié)MSB(MostSignificantBit):最高有效位,位于最左位LSB(LowSignificantBit):最低有效位,位于最右邊位MSB(MostSignificantByte):最高有效字節(jié),位于數(shù)據(jù)的最左邊的字節(jié)LSB(LeastSignificantByte):最低有效自己,位于數(shù)據(jù)的最右邊的字節(jié)目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算二進(jìn)制加法回顧十進(jìn)制數(shù)加法計(jì)算原理將兩個(gè)對(duì)應(yīng)的數(shù)字位與來(lái)自低位的進(jìn)位相加,如果其和大于等于10,那么向產(chǎn)生進(jìn)位該計(jì)算過(guò)程從最低位開(kāi)始依次向最高位。其中最低位的進(jìn)位為0二進(jìn)制加法與十進(jìn)制加法原理類似二進(jìn)制每位數(shù)字非0即1,因此兩個(gè)數(shù)字位相加最大值為2,即102顯然,此時(shí)就應(yīng)該進(jìn)位了示例:10112與00112的計(jì)算過(guò)程
b3b2b1b0+10110011
1
1110
b4b3b2b1b0+
1111
00011111
100001)b0-b3位計(jì)算(產(chǎn)生進(jìn)位輸出)2)b4位(進(jìn)位)溢出人:在上例中,人計(jì)算結(jié)果為100002是正常的人在計(jì)算中,通常不考慮位數(shù)限制,可以靈活的添加高位計(jì)算機(jī):由于受硬件限制,就必須考慮計(jì)算結(jié)果的位數(shù)假設(shè)CPU的字長(zhǎng)為4位,則b4位是不存在的,故計(jì)算結(jié)果就是00002,即0。這種情況就是溢出。產(chǎn)生溢出,意味著計(jì)算結(jié)果出現(xiàn)錯(cuò)誤了。CPU在溢出發(fā)生時(shí),會(huì)通過(guò)稱為異常的機(jī)制來(lái)報(bào)告這個(gè)錯(cuò)誤
b4b3b2b1b0+
1111
00011111
10000溢出~Overflow;異常~Exception目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算一切皆可用數(shù)字表示誤區(qū):很多時(shí)候,我們認(rèn)為數(shù)字的含義只能是數(shù)值示例1:19060123解讀1:如果在銀行賬戶中,那就是存款解讀2:如果在學(xué)籍系統(tǒng)中,那就是學(xué)號(hào)示例2:0和10:可以對(duì)應(yīng)邏輯真(F,false)1:可以對(duì)應(yīng)邏輯真(T,true)19060123班內(nèi)序號(hào)班級(jí)編號(hào)院系編號(hào)入學(xué)年份一切皆可用數(shù)字表示啟示1:一個(gè)數(shù)字首先是一個(gè)編碼,其含義必須結(jié)合上下文來(lái)解讀啟示2:一個(gè)數(shù)字可以作為整體解讀,也可以分為若干部分解讀對(duì)于一個(gè)數(shù)字來(lái)說(shuō),其包含2部分內(nèi)容編碼:就是數(shù)字本身,或者說(shuō)是一種記號(hào)。例如007語(yǔ)義:編碼所代表的概念的含義,是對(duì)編碼的解釋例如007可以代表某個(gè)特定的間諜,也可是酒店的房間編號(hào)編碼本身沒(méi)有任何意義編碼只有被賦予語(yǔ)義的編碼才有意義數(shù)的編碼空間示例:3位十進(jìn)制編碼空間:000,001,…,999編碼個(gè)數(shù):103,即1000編碼空間:有效編碼的集合空間大小:有效編碼的總數(shù)對(duì)于一個(gè)n位B進(jìn)制數(shù)來(lái)說(shuō),其編碼空間大小為Bn例如3位二進(jìn)制,其編碼空間大小為23=83為十六進(jìn)制,其編碼空間為163=4096編碼位數(shù)
編碼與編碼對(duì)象之間的對(duì)應(yīng)關(guān)系是由人來(lái)確定的例如:A可以用0000002對(duì)應(yīng),也可以用1110002對(duì)應(yīng)二進(jìn)制無(wú)符號(hào)數(shù)二進(jìn)制無(wú)符號(hào)數(shù)的編碼方案沒(méi)有負(fù)數(shù);全是整數(shù)000000000000000000000000000000002=010000000000000000000000000000000012=110000000000000000000000000000000102=210 ... ...011111111111111111111111111111012=2,147,483,64510011111111111111111111111111111102=2,147,483,64610011111111111111111111111111111112=2,147,483,64710100000000000000000000000000000002=2,147,483,64810100000000000000000000000000000012=2,147,483,64910100000000000000000000000000000102=2,147,483,65010 ... ...111111111111111111111111111111012=4,294,967,29310111111111111111111111111111111102=4,294,967,29410111111111111111111111111111111112=4,294,967,29510無(wú)符號(hào)~unsigned二進(jìn)制符號(hào)數(shù)原碼方案用最高位表示符號(hào)位(0~正,1~負(fù))其余位代表絕對(duì)值(也就是無(wú)符號(hào)數(shù))示例:4位原碼編碼方案原碼方案的缺陷存在2個(gè)零,即00002和100021)有效編碼被浪費(fèi)了2)硬件無(wú)法使用前述加法編碼數(shù)值不連續(xù)希望數(shù)值隨編碼增大而增大符號(hào)~signed00002=01000012=11000102=21000112=31001002=41001012=51001102=61001112=71010002=-01010012=-11010102=-21010112=-31011002=-41011012=-51011102=-61011112=-710編碼5位原碼方案數(shù)值二進(jìn)制符號(hào)數(shù)二進(jìn)制補(bǔ)碼方案(以5位二進(jìn)制補(bǔ)碼為例)最高位代表符號(hào)位:0~正,1~負(fù)10000代表最小的負(fù)數(shù)(-16),11111代表最大的負(fù)數(shù)(-1)特點(diǎn):只有1個(gè)零符號(hào)確定后,數(shù)值隨編碼增長(zhǎng)而增長(zhǎng)000000000101111...1111110000...數(shù)值增長(zhǎng)數(shù)值增長(zhǎng)15-16編碼5位補(bǔ)碼方案數(shù)值32位二進(jìn)制補(bǔ)碼表示范圍:-2,147,483,648至2,147,483,647符號(hào)位00000000000000000000000000000000two=0ten00000000000000000000000000000001two=1ten00000000000000000000000000000010two=2ten ... ...01111111111111111111111111111101two=2,147,483,645ten01111111111111111111111111111110two=2,147,483,646ten01111111111111111111111111111111two=2,147,483,647ten10000000000000000000000000000000two=–2,147,483,648ten10000000000000000000000000000001two=–2,147,483,647ten10000000000000000000000000000010two=–2,147,483,646ten ... ...11111111111111111111111111111101two=–3ten11111111111111111111111111111110two=–2ten11111111111111111111111111111111two=–1ten二進(jìn)制補(bǔ)碼的一般性表示
二進(jìn)制補(bǔ)碼小結(jié)現(xiàn)代計(jì)算機(jī)普遍采用使用最高位作為符號(hào)位正數(shù)區(qū)間與負(fù)數(shù)區(qū)間大致相同負(fù)數(shù)區(qū)間比正數(shù)區(qū)間多一個(gè)數(shù)相反數(shù)計(jì)算方法:各位取反,然后加1示例:已知+7=01112,則+7=10002+12=10012課堂練習(xí)假設(shè)CPU字長(zhǎng)為4位。以下哪個(gè)范圍可以用二進(jìn)制補(bǔ)碼表示?-15至
+150至+15-8至
+7-16至
+15空間大小為31,需要至少5位空間大小為16(合理),但沒(méi)有負(fù)數(shù)區(qū)間正負(fù)區(qū)間都有,負(fù)區(qū)間多1個(gè),空間大小16正負(fù)區(qū)間都有,負(fù)區(qū)間多1個(gè),但空間大小為32目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算浮點(diǎn)數(shù)概述計(jì)算機(jī)除了處理整數(shù)外,很多時(shí)候也需要處理浮點(diǎn)數(shù)例如圓周率3.1415926,就無(wú)法用前面講的二進(jìn)制整數(shù)編碼方案表示在工程計(jì)算中,就大量涉及浮點(diǎn)數(shù)浮點(diǎn)數(shù)具有表示范圍和精度都較高的特點(diǎn)它解決了整數(shù)和小數(shù)位長(zhǎng)度固定的限制允許表示一個(gè)很大的數(shù)或者很想的數(shù)WilliamM.Kahan(威廉?凱亨),1933年6月領(lǐng)導(dǎo)開(kāi)發(fā)了Intel的8087浮點(diǎn)協(xié)處理器制定了IEEE754和854標(biāo)準(zhǔn)浮點(diǎn)數(shù)標(biāo)準(zhǔn)之父;1989年圖靈獎(jiǎng)獲得者Forhisfundamentalcontributionstonumericalanalysis.Oneoftheforemostexpertsonfloating-pointcomputations.Kahanhasdedicatedhimselfto"makingtheworldsafefornumericalcomputations"!浮點(diǎn)數(shù)格式
313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)指數(shù)和尾數(shù),增加任何一方位數(shù)都會(huì)減少另一方位數(shù)目前方案是在精度與表示范圍之間反復(fù)權(quán)衡后的結(jié)果浮點(diǎn)數(shù)格式(優(yōu)化前)示例:用二進(jìn)制浮點(diǎn)數(shù)格式表示5.23×1035.23×103=523010=1010001101110=1.01000110111×212符號(hào)為0,指數(shù)為12(11002),尾數(shù)為1.01000110111313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)00000110010100011011100000000000浮點(diǎn)數(shù)格式(優(yōu)化后)科學(xué)記數(shù)法通常不會(huì)讓0出現(xiàn)在尾數(shù)的第1位(即小數(shù)點(diǎn)左邊那位)。類似,浮點(diǎn)數(shù)表示方法同樣不會(huì)讓0出現(xiàn)在尾數(shù)的第1位由于尾數(shù)的第1位只能為1,那么就沒(méi)有必要再占用實(shí)際存儲(chǔ)位這使尾數(shù)多了1位有效存儲(chǔ)位在計(jì)算過(guò)程中還需要將該位自動(dòng)補(bǔ)回格式優(yōu)化:5.23×103的尾數(shù)1.01000110111,優(yōu)化為01000110111313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)00000110010100011011100000000000313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)00000110001000110111000000000000優(yōu)化后的浮點(diǎn)數(shù)格式優(yōu)化前的浮點(diǎn)數(shù)格式表示絕對(duì)值小于0的浮點(diǎn)數(shù)絕對(duì)值小于0的浮點(diǎn)數(shù),其指數(shù)是負(fù)的示例:0.5和0.25,其對(duì)應(yīng)的就是1.0x2-1與1.0x2-2思路:指數(shù)采用二進(jìn)制補(bǔ)碼缺點(diǎn):負(fù)指數(shù)的浮點(diǎn)數(shù)雖較小,但其二進(jìn)制卻似乎是個(gè)較大的數(shù)示例:0.5與2.0313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)01111111100000000000000000000000313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)000000001000000000000000000000000.5(1.0×2-1)的浮點(diǎn)數(shù)格式為:0x7F8000002.0(1.0×2+1)的浮點(diǎn)數(shù)格式:0x00800000浮點(diǎn)數(shù):0.5<2.0二進(jìn)制:0x7F800000>0x00800000表示絕對(duì)值小于0的浮點(diǎn)數(shù):偏階計(jì)數(shù)法目標(biāo):
000000002對(duì)應(yīng)最小的負(fù)指數(shù),而111111112對(duì)應(yīng)最大的正指數(shù)思路:編碼用的指數(shù)=真實(shí)指數(shù)+127;該方法被稱為偏階記數(shù)法示例:0.5與2.00.5的偏階編碼指數(shù):111111112+011111112=0111111022.0的偏階編碼指數(shù):000000012+011111112=100000002313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)00111111000000000000000000000000313029282726252423222120191817161514131211109876543210S指數(shù)尾數(shù)010000000000000000000000000000000.5(1.0×2-1)的偏階浮點(diǎn)數(shù)格式為:0x3F0000002.0(1.0×2+1)的偏階浮點(diǎn)數(shù)格式:0x40000000IEEE754浮點(diǎn)標(biāo)準(zhǔn)就采用了偏階記數(shù)法單精度浮點(diǎn)表示范圍
最大正數(shù)計(jì)算方法雙精度浮點(diǎn)表示范圍
格式總位數(shù)符號(hào)位指數(shù)位尾數(shù)位單精度浮點(diǎn)321823雙精度浮點(diǎn)6411152特殊情況
表示的數(shù)單精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)
符號(hào)指數(shù)尾數(shù)符號(hào)指數(shù)尾數(shù)0X00X000255002047012550120470NaN(非數(shù))X255非0X2047非0正的浮點(diǎn)數(shù)01~254任意01~2046任意負(fù)的浮點(diǎn)數(shù)11~254任意11~2046任意注意:IEEE754編碼方案中有2個(gè)0上溢和下溢
目錄常見(jiàn)進(jìn)制及其轉(zhuǎn)換常見(jiàn)術(shù)語(yǔ)二進(jìn)制加法整數(shù)的二進(jìn)制表示方法浮點(diǎn)數(shù)的二進(jìn)制表示方法補(bǔ)碼的幾種常見(jiàn)運(yùn)算負(fù)數(shù)的二進(jìn)制補(bǔ)碼的計(jì)算方法
負(fù)數(shù)的二進(jìn)制補(bǔ)碼的計(jì)算方法示例1:用8位二進(jìn)制補(bǔ)碼表示-141)14的二進(jìn)制補(bǔ)碼表示為0000111022)將該數(shù)各位取反可得1111000123)再計(jì)算111100012+1=111100102-14的8位二進(jìn)制補(bǔ)碼為111100102示例2:-14的二進(jìn)制補(bǔ)碼為111100102,計(jì)算14的二進(jìn)制補(bǔ)碼1)將111100102各位取反可得0000110122)再計(jì)算000011012+1=00001110214的8位二進(jìn)制補(bǔ)碼為000011102減法思路:為了計(jì)算x-y,可以通過(guò)數(shù)學(xué)變形改為計(jì)算x+(-y)示例:計(jì)算28-14(假設(shè)字長(zhǎng)為8位)1)28的8位二進(jìn)制補(bǔ)碼為:0001110022)-14的二進(jìn)制補(bǔ)碼為:14的二進(jìn)制補(bǔ)碼為:000011102各位取反為:111100012加1,得:1111001023)計(jì)算:
000111002+111100102=000011102=140001110011110010+111100001110補(bǔ)碼體系的優(yōu)勢(shì):只需要設(shè)計(jì)加法運(yùn)算的硬件,減法可以轉(zhuǎn)換為加法運(yùn)算,故不需為減法設(shè)計(jì)相應(yīng)硬件由于字長(zhǎng)僅有8位,因此b8位被舍棄。注意:b8位本質(zhì)上是屬于溢出了位擴(kuò)展很多時(shí)候,程序中有不同類型間的變量賦值不同類型的變量,往往位數(shù)不同,這就涉及擴(kuò)展問(wèn)題Line5:-1最少用2位二進(jìn)制補(bǔ)碼表示,即112,但c8需要8位Line7:ui32是32位,c8是8位1234567charc8;inti32;unsignedintui32;
c8=-1;i32=c8;ui32=(unsignedchar)c8;
8位符號(hào)數(shù)32位符號(hào)數(shù)32位無(wú)符號(hào)數(shù)70c8-1113124231615870ui32c8位擴(kuò)展符號(hào)擴(kuò)展:對(duì)于Line5來(lái)說(shuō),由于c8是符號(hào)數(shù),因此需要將-1的符號(hào)位復(fù)制到c8的高位部分。計(jì)算完成后,c8=111111112,即8位補(bǔ)碼的-1無(wú)符號(hào)擴(kuò)展:對(duì)于Line7來(lái)說(shuō),由于ui32是無(wú)符號(hào)數(shù),因此需要將c8視為無(wú)符號(hào)數(shù),并且為確保擴(kuò)展后的結(jié)果正確,ui32的高位部分應(yīng)該都為0。計(jì)算完成后,ui32=00000000000000000000000011111111270c811111111…-1113124231615870ui3200000000000000000000000011111111c811111111比較C語(yǔ)言定義了多個(gè)比較操作,其運(yùn)算結(jié)果是邏輯的真假值=、≠、>、<、≥、≤比較運(yùn)算的等價(jià)變換:實(shí)現(xiàn)<和=這兩種比較運(yùn)算,再結(jié)合NOT邏輯運(yùn)算,就能實(shí)現(xiàn)上述六種比較運(yùn)算原運(yùn)算等價(jià)運(yùn)算比較:小于運(yùn)算(符號(hào)數(shù))1/3
比較:小于運(yùn)算(符號(hào)數(shù))2/3正確的理論計(jì)算從數(shù)學(xué)上可知,0減-8的結(jié)果應(yīng)該是+8如果用補(bǔ)碼表示+8,則至少需要5位二進(jìn)制補(bǔ)碼,即010002由于b4的存在,故b3的“1”含義是數(shù)值,而不是符號(hào)錯(cuò)誤的實(shí)際計(jì)算前述計(jì)算采用4位二進(jìn)制補(bǔ)碼計(jì)算,結(jié)果為10002由于b4的缺失,故b3的“1”被錯(cuò)誤的解讀為符號(hào)錯(cuò)誤的原因:本質(zhì)上是由于位數(shù)不足,導(dǎo)致計(jì)算結(jié)果+8超出了4位二進(jìn)制補(bǔ)碼的表示范圍,發(fā)生了溢出為了完成減法,必須從b4借位比較:小于運(yùn)算(符號(hào)數(shù))3/3
為了完成減法,必須從b4借位比較:小于運(yùn)算(無(wú)符號(hào)數(shù))解決方案:0擴(kuò)展后再按符號(hào)數(shù)計(jì)算1)如果比較的兩個(gè)數(shù)均為無(wú)符號(hào)數(shù),將其視為符號(hào)數(shù)2)為了能夠用符號(hào)數(shù)正確表達(dá)其原值,需要將兩個(gè)數(shù)分別擴(kuò)展1位符號(hào)位,且符號(hào)位為03)之后,就可以采用前述的方案了相等方案1:采用XOR運(yùn)算,然后判斷結(jié)果是否全01)執(zhí)行XOR運(yùn)算,即C
A⊕B2)將C的各位OR起來(lái),得到1位結(jié)果如果為0,即“A=B”為真如果為1,即“A=B”為假方案2:采用減法運(yùn)算,然后判斷結(jié)果是否全01)執(zhí)行減法運(yùn)算,即C
A-B2)將C的各位OR起來(lái),得到1位結(jié)果如果為0,即“A=B”為真如果為1,即“A=B”為假乘法:無(wú)符號(hào)數(shù)二進(jìn)制乘法的基本計(jì)算過(guò)程與十進(jìn)制乘法基本類似示例:計(jì)算01012×10112理論分析結(jié)果:01012×10112=5×11=55實(shí)際計(jì)算結(jié)果:01101112=55基本原理:循環(huán)累加左移后的被乘數(shù)假設(shè)被乘數(shù)A為N位,乘數(shù)B為M位結(jié)果C為N+M-1位
0101
×1011
0101
0101
0000
+0101
0110111C=0fori=0toM-1ifB[i]thenC=C+A<<i乘法:符號(hào)數(shù)
A[31]B[31]結(jié)果00正01負(fù)10負(fù)11正除法的復(fù)雜性運(yùn)算結(jié)果種類乘法:運(yùn)算結(jié)果只有一個(gè),即積除法:有2個(gè)運(yùn)算結(jié)果,即商和余數(shù)結(jié)果正負(fù)性質(zhì)數(shù)學(xué)公式:被除數(shù)=除數(shù)×商+余數(shù)示例:-7÷2。如果僅按數(shù)學(xué)公式,可以有2種結(jié)果結(jié)果1:-7=2×(-3)+(-1)結(jié)果2:-7=2×(-4)+1中間計(jì)算過(guò)程乘法:以加法為核心除法:以減法為核心。減法比加法要復(fù)雜些。除法:無(wú)符號(hào)數(shù)1/3示例:計(jì)算10010102除以10002理論分析:10010102為74,10002為8,故74÷8的商為9,余數(shù)為2計(jì)算過(guò)程:與十進(jìn)制除法類似,核心是“試商”試商:在二進(jìn)制除法中,商的各位非0即1,“試商”更為簡(jiǎn)單計(jì)算商的每位時(shí),僅需做一次減法然后根據(jù)減法結(jié)果的符號(hào)位判斷是否夠減位序
6543210
1001
商除數(shù)1000
1001010
被除數(shù)
-1000
1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何制定農(nóng)產(chǎn)品電商的長(zhǎng)遠(yuǎn)發(fā)展計(jì)劃試題及答案
- 在線科學(xué)考試試題及答案
- 家具行業(yè)用戶參與設(shè)計(jì)的有效性與策略研究試題及答案
- 注冊(cè)土木工程師考試亮點(diǎn)總結(jié)試題及答案
- 商務(wù)英語(yǔ)外匯管理試題及答案
- 新能源汽車駕駛輔助系統(tǒng)試題及答案
- 免疫學(xué)試題及答案臨床
- 護(hù)理臨床筆試試題及答案
- 會(huì)飛的學(xué)校試題及答案
- 激勵(lì)學(xué)習(xí)商務(wù)英語(yǔ)考試試題及答案
- 繩索救援技術(shù)培訓(xùn)內(nèi)容
- 甘肅省天水監(jiān)獄招聘警務(wù)輔助人員筆試真題2024
- 2025年農(nóng)村商業(yè)銀行招聘考試筆試試題(含答案)
- 全國(guó)醫(yī)師定期考核公共衛(wèi)生考核試題500題-1
- 上饒城投筆試試題及答案
- 廣東廣州歷年中考語(yǔ)文現(xiàn)代文閱讀真題43篇(截至2024年)
- 產(chǎn)品三觀:打造用戶思維法則
- 小紅書搜索推廣營(yíng)銷師認(rèn)證考試題庫(kù)(附答案)
- 圍術(shù)期護(hù)理常規(guī)及技術(shù)規(guī)范
- TSG+11-2020鍋爐安全技術(shù)規(guī)程
- 評(píng)標(biāo)專家聘用協(xié)議范本書
評(píng)論
0/150
提交評(píng)論