计算机组成原理机器码怎么求,计算机组成原理--数据格式与机器码
數(shù)據(jù)格式
計(jì)算機(jī)中使用的數(shù)據(jù)可分成兩大類:
符號(hào)數(shù)據(jù):非數(shù)字符號(hào)的表示(ASCII、漢字、圖形等)
數(shù)值數(shù)據(jù):數(shù)字?jǐn)?shù)據(jù)的表示方式(定點(diǎn)、浮點(diǎn))
計(jì)算機(jī)數(shù)字和字符的表示方法應(yīng)有利于數(shù)據(jù)的存儲(chǔ)、加工(處理)、傳送;
編碼:用少量、簡(jiǎn)單的基本符號(hào),選擇合適的規(guī)則表示盡量多的信息,同時(shí)利于信息處理(速度、方便)
進(jìn)制轉(zhuǎn)換
這個(gè)一般都不是問(wèn)題,但二進(jìn)制小數(shù)轉(zhuǎn)十進(jìn)制我忘了,所以在這復(fù)習(xí)一下
例如將0.11101轉(zhuǎn)為十進(jìn)制那么應(yīng)該這樣做:0*2^(0)+ 1*2^(-1)+1*2^(-2)+1*2^(-3)+ 0*2^(-4)+1*2^(-5)
計(jì)算機(jī)在數(shù)據(jù)、文字的表示方式時(shí),應(yīng)該考慮一下幾個(gè)因素:
表示的數(shù)據(jù)類型(符號(hào)、小數(shù)點(diǎn)、數(shù)值)
數(shù)值的范圍
數(shù)值精度
存儲(chǔ)、處理、傳送的硬件代價(jià)
是否有利于軟件的移植等...
定點(diǎn)表示
所有數(shù)據(jù)的小數(shù)點(diǎn)位置固定不變,理論上位置可以任意,但實(shí)際上將數(shù)據(jù)表示有兩種方法(小數(shù)點(diǎn)位置固定-定點(diǎn)表示法/定點(diǎn)格式):純小數(shù)和純整數(shù),然后又分帶符號(hào)不帶符號(hào)
定點(diǎn)純小數(shù)
定點(diǎn)純整數(shù)
定點(diǎn)表示法的特點(diǎn):
定點(diǎn)數(shù)表示數(shù)的范圍受字長(zhǎng)限制,表示數(shù)的范圍有限;
定點(diǎn)表示的精度有限
機(jī)器中,常用定點(diǎn)純整數(shù)表示;
因?yàn)橐硎緦?shí)數(shù)(包括小數(shù)和整數(shù)),所以引入浮點(diǎn)數(shù)
浮點(diǎn)表示:小數(shù)點(diǎn)位置隨階碼不同而浮動(dòng)
機(jī)器中表示
IEEE754標(biāo)準(zhǔn)(規(guī)定了浮點(diǎn)數(shù)的表示格式,運(yùn)算規(guī)則等)規(guī)則規(guī)定了單精度(32)和雙精度(64)的基本格式,規(guī)則中,尾數(shù)用原碼,指數(shù)用移碼(便于對(duì)階和比較)
IEEE754標(biāo)準(zhǔn)
基數(shù)R=2,基數(shù)固定,采用隱含方式來(lái)表示它。
32位的浮點(diǎn)數(shù):
S數(shù)的符號(hào)位,1位,在最高位,“0”表示正數(shù),“1”表示負(fù)數(shù)。
M是尾數(shù), 23位,在低位部分,采用純小數(shù)表示
E是階碼,8位,采用移碼表示。移碼比較大小方便。
規(guī)格化: 若不對(duì)浮點(diǎn)數(shù)的表示作出明確規(guī)定,同一個(gè)浮點(diǎn)數(shù)的表示就不是惟一的。
尾數(shù)域最左位(最高有效位)總是1, 故這一位經(jīng)常不予存儲(chǔ),而認(rèn)為隱藏在小數(shù)點(diǎn)的左邊
采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值127(01111111),即E=e+127
E: 階碼位數(shù),決定數(shù)據(jù)的范圍,M: 尾數(shù)位數(shù),決定數(shù)的精度
真值x為零表示:當(dāng)階碼E為全0且尾數(shù)M也為全0時(shí)的值,結(jié)合符號(hào)位S為0或1,有正零和負(fù)零之分
真值x為無(wú)窮大表示:當(dāng)階碼E為全1且尾數(shù)M為全0時(shí),結(jié)合符號(hào)位S為0或1,也有+∞和-∞之分。
這樣在32位浮點(diǎn)數(shù)表示中,要除去E用全0和全1(255)表示零和無(wú)窮大的特殊情況,指數(shù)的偏移值不選128(10000000),而選127(01111111)。對(duì)于規(guī)格化浮點(diǎn)數(shù),E的范圍變?yōu)?到254,真正的指數(shù)值e則為-126到+127。因此32位浮點(diǎn)數(shù)表示的絕對(duì)值的范圍是10-38~1038(以10的冪表示)。
浮點(diǎn)數(shù)所表示的范圍遠(yuǎn)比定點(diǎn)數(shù)大。一臺(tái)計(jì)算機(jī)中究竟采用定點(diǎn)表示還是浮點(diǎn)表示,要根據(jù)計(jì)算機(jī)的使用條件來(lái)確定。一般在高檔微機(jī)以上的計(jì)算機(jī)中同時(shí)采用定點(diǎn)、浮點(diǎn)表示,由使用者進(jìn)行選擇。而單片機(jī)中多采用定點(diǎn)表示
指數(shù)采用偏移值,其中單精度偏移值為127,雙精度為1023,將浮點(diǎn)數(shù)的階碼值變成非負(fù)整數(shù),便于浮點(diǎn)數(shù)的比較和排序
機(jī)器數(shù)的特點(diǎn)
原碼:表示簡(jiǎn)單,運(yùn)算復(fù)雜:符號(hào)位不參加運(yùn)算,要設(shè)置加法、減法器,0的表示不唯一,不能直接判定是執(zhí)行加法還是減法運(yùn)算,分同號(hào)和異號(hào)
反碼:表示相對(duì)原碼復(fù)雜,運(yùn)算相對(duì)原碼簡(jiǎn)單:符號(hào)位參加運(yùn)算, 只需要設(shè)置加法器,但符號(hào)位的進(jìn)位位需要加到最低位,0的表示不唯一
補(bǔ)碼:表示相對(duì)原碼復(fù)雜,運(yùn)算簡(jiǎn)單:只需設(shè)置加法器,0的表示唯一
移碼(增碼):
BCD碼
表示一位十進(jìn)制數(shù)的二進(jìn)制碼的每一位有確定的權(quán)。一般用8421碼,其4個(gè)二進(jìn)制碼的權(quán)從高到低分別為8、4、2和1。用0000,0001,…,1001分別表示0,1,…,9,每個(gè)數(shù)位內(nèi)部滿足二進(jìn)制規(guī)則,而數(shù)位之間滿足十進(jìn)制規(guī)則,故稱這種編碼為“以二進(jìn)制編碼的十進(jìn)制(binary coded decimal,簡(jiǎn)稱BCD)碼”
在計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)BCD碼算術(shù)運(yùn)算,要對(duì)運(yùn)算結(jié)果進(jìn)行修正,對(duì)加法運(yùn)算的修正規(guī)則是:
如果兩個(gè)一位BCD碼相加之和小于或等于(1001),即(9),不需要修正;如相加之和大于或等于(10),要進(jìn)行加6修正,并向高位進(jìn)位,進(jìn)位可以在首次相加(例3.10③)或修正時(shí)產(chǎn)生
碼值轉(zhuǎn)換
補(bǔ)碼是在“?!焙汀巴唷钡母拍钕聦?dǎo)出的。
“?!笔侵敢粋€(gè)計(jì)量系統(tǒng)的計(jì)量范圍,即產(chǎn)生“溢出”的量。
5-2=5+10 (MOD 12)
5+(-2)=5+10 (MOD 12)
-2=10 (MOD 12)
可以說(shuō):在模為12的情況下,-2的補(bǔ)碼 就是10。 一個(gè)負(fù)數(shù)用其補(bǔ)碼代替,同樣可以得到正確的運(yùn)算結(jié)果。
1、一個(gè)負(fù)數(shù)可用它的正補(bǔ)數(shù)來(lái)代替,而這個(gè)正數(shù)可以用模加上負(fù)數(shù)本身求得。
2、一個(gè)正數(shù)和一個(gè)負(fù)數(shù)互為補(bǔ)數(shù)時(shí),它們絕對(duì)值之和即為模數(shù)。
進(jìn)一步結(jié)論:
在計(jì)算機(jī)中,機(jī)器能表示的數(shù)據(jù)位數(shù)是一定的,其運(yùn)算都是有模運(yùn)算。如果是n位整數(shù)(不含符號(hào)位),其模為2n+1。如果是n位小數(shù),其模為2。
若運(yùn)算結(jié)果超出了計(jì)算機(jī)所能表示的數(shù)值范圍,則只保留它的小于模的低n位的數(shù)值,超過(guò)n位的高位部分就自動(dòng)舍棄了。
補(bǔ)碼性質(zhì):高位表明正負(fù),正數(shù)補(bǔ)碼,尾數(shù)與原碼相同,范圍-2n~2n-1(定點(diǎn)整數(shù))
由原碼求補(bǔ)碼的簡(jiǎn)便原則:除符號(hào)位以外,其余各位按位取反,從最低位開(kāi)始遇到的第一個(gè)1及右邊的各位保持不變
由[X]補(bǔ)求[-X]補(bǔ):連符號(hào)位一起各位求反,末位加1。
由[X]補(bǔ)求[X/2]補(bǔ):將[X]補(bǔ)的符號(hào)位和數(shù)值位一起向右移動(dòng)一次.符號(hào)位移走后保持原來(lái)的值不變.這稱為“算術(shù)移位”,[X/4]補(bǔ)和[X/8]補(bǔ)同理
n+1位補(bǔ)碼所能表示的數(shù)
反碼表示法
定義:正數(shù)的表示與原、補(bǔ)碼相同,負(fù)數(shù)的反碼符號(hào)位為1,數(shù)值位是將原碼的數(shù)值按位取反,就得到該數(shù)的反碼表示,電路容易實(shí)現(xiàn),觸發(fā)器的輸出有正負(fù)之分
[x ]補(bǔ)=[x ]反+2^-n,反碼表示有正0和負(fù)0之分
移碼
特點(diǎn):移碼和補(bǔ)碼尾數(shù)相同,符號(hào)位相反,范圍:-2n~2n-1
性質(zhì): 若[X1]移>[X2]移,則有 X1>X2.
原碼、補(bǔ)碼、反碼和移碼的區(qū)別,可分三個(gè)區(qū)域:
總結(jié)
以上是生活随笔為你收集整理的计算机组成原理机器码怎么求,计算机组成原理--数据格式与机器码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: yocto Extensible SDK
- 下一篇: 区块链学习之Web3j入门(三):状态与