![一個(gè)數(shù)的原碼,反碼,補(bǔ)碼_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/122ae9e5-163e-475b-a4ab-53af3672996f/122ae9e5-163e-475b-a4ab-53af3672996f1.gif)
![一個(gè)數(shù)的原碼,反碼,補(bǔ)碼_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/122ae9e5-163e-475b-a4ab-53af3672996f/122ae9e5-163e-475b-a4ab-53af3672996f2.gif)
![一個(gè)數(shù)的原碼,反碼,補(bǔ)碼_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/122ae9e5-163e-475b-a4ab-53af3672996f/122ae9e5-163e-475b-a4ab-53af3672996f3.gif)
![一個(gè)數(shù)的原碼,反碼,補(bǔ)碼_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/122ae9e5-163e-475b-a4ab-53af3672996f/122ae9e5-163e-475b-a4ab-53af3672996f4.gif)
![一個(gè)數(shù)的原碼,反碼,補(bǔ)碼_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/122ae9e5-163e-475b-a4ab-53af3672996f/122ae9e5-163e-475b-a4ab-53af3672996f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基本概念 在計(jì)算機(jī)內(nèi)部表示二進(jìn)制數(shù)的方法稱為數(shù)值編碼,把一個(gè)數(shù)及其符號(hào)在機(jī)器中的表示加以數(shù)值化,稱為機(jī)器數(shù)。機(jī)器數(shù)所代表的數(shù)稱為數(shù)的真值。 表示一個(gè)機(jī)器數(shù),應(yīng)考慮以下三個(gè)因素: 1機(jī)器數(shù)的范圍 字長為8位,無符號(hào)整數(shù)的最大值是(11111111)B=(255)D,此時(shí)機(jī)器數(shù)的范圍是0255。 字長為16位,無符號(hào)整數(shù)的最大值是 (1111111111111111)B=(FFFF)H=(65535)D 此時(shí)機(jī)器數(shù)的范圍是065535。 2機(jī)器數(shù)的符號(hào) 在算術(shù)運(yùn)算中,數(shù)據(jù)是有正有負(fù)的,將這類數(shù)據(jù)稱為帶符號(hào)數(shù)。 為了在計(jì)算機(jī)中正確地表示帶符號(hào)數(shù),通常規(guī)定每個(gè)字長的最高位為符號(hào)位,并用0表示正數(shù),用1
2、表示負(fù)數(shù)。 3機(jī)器數(shù)中小數(shù)點(diǎn)的位置 在機(jī)器中,小數(shù)點(diǎn)的位置通常有兩種約定: 一種規(guī)定小數(shù)點(diǎn)的位置固定不變,這時(shí)的機(jī)器數(shù)稱為“定點(diǎn)數(shù)”。 另一種規(guī)定小數(shù)點(diǎn)的位置可以浮動(dòng),這時(shí)的機(jī)器數(shù)稱為“浮點(diǎn)數(shù)”。 4原碼 正數(shù)的符號(hào)位為0,負(fù)數(shù)的符號(hào)位為1,其它位按照一般的方法來表示數(shù)的絕對(duì)值。用這樣的表示方法得到的就是數(shù)的原碼。 【例1】當(dāng)機(jī)器字長為8位二進(jìn)制數(shù)時(shí): X1011011 X原碼01011011 Y1011011 Y原碼11011011 1原碼00000001 1原碼10000001 127原碼01111111 127原碼11111111 原碼表示的整數(shù)范圍是: (2n-11)(2n-11),其
3、中n為機(jī)器字長。 則:8位二進(jìn)制原碼表示的整數(shù)范圍是127127 16位二進(jìn)制原碼表示的整數(shù)范圍是3276732767 5反碼 對(duì)于一個(gè)帶符號(hào)的數(shù)來說,正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼為其原碼除符號(hào)位以外的各位按位取反?!纠?.14】當(dāng)機(jī)器字長為8位二進(jìn)制數(shù)時(shí): X1011011 X原碼01011011 X反碼01011011 Y1011011 Y原碼11011011 Y反碼10100100 1反碼00000001 1反碼11111110 127反碼01111111 127反碼10000000 負(fù)數(shù)的反碼與負(fù)數(shù)的原碼有很大的區(qū)別,反碼通常用作求補(bǔ)碼過程中的中間形式。 反碼表示的整數(shù)范圍與原碼
4、相同。 6補(bǔ)碼 正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼為其反碼在最低位加1。 【例2】(1)X1011011 (2) Y1011011 (1)根據(jù)定義有: X原碼01011011 X補(bǔ)碼01011011 (2) 根據(jù)定義有: Y原碼11011011 Y反碼10100100 Y補(bǔ)碼10100101 補(bǔ)碼表示的整數(shù)范圍是2n-1(2n-11),其中n為機(jī)器字長。 則:8位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是128127 16位二進(jìn)制補(bǔ)碼表示的整數(shù)范圍是3276832767 當(dāng)運(yùn)算結(jié)果超出這個(gè)范圍時(shí),就不能正確表示數(shù)了,此時(shí)稱為溢出。 7補(bǔ)碼與真值之間的轉(zhuǎn)換 正數(shù)補(bǔ)碼的真值等于補(bǔ)碼的本身;負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換為其真值時(shí),
5、將負(fù)數(shù)補(bǔ)碼按位求反,末位加1,即可得到該負(fù)數(shù)補(bǔ)碼對(duì)應(yīng)的真值的絕對(duì)值。 【例3】X補(bǔ)碼01011001B,X補(bǔ)碼11011001B,分別求其真值X。 (1)X補(bǔ)碼代表的數(shù)是正數(shù),其真值: X1011001B (1×261×241×231×20) (641681) (89)D (2)X補(bǔ)碼代表的數(shù)是負(fù)數(shù),則真值: X(1011001求反1)B (01001101)B (0100111)B (1×251×221×211×20) (32421) (39)D 數(shù)值在計(jì)算機(jī)中表示形式為機(jī)器數(shù),計(jì)算機(jī)只能識(shí)別0和1,使用的是二進(jìn)
6、制,而在日常生活中人們使用的是十進(jìn)制,"正如亞里士多德早就指出的那樣,今天十進(jìn)制的廣泛采用,只不過我們絕大多數(shù)人生來具有10個(gè)手指頭這個(gè)解剖學(xué)事實(shí)的結(jié)果.盡管在歷史上手指計(jì)數(shù)(5,10進(jìn)制)的實(shí)踐要比二或三進(jìn)制計(jì)數(shù)出現(xiàn)的晚."(摘自<<數(shù)學(xué)發(fā)展史>>有空大家可以看看哦,很有意思的).為了能方便的與二進(jìn)制轉(zhuǎn)換,就使用了十六進(jìn)制(2 4)和八進(jìn)制(23).下面進(jìn)入正題. 數(shù)值有正負(fù)之分,計(jì)算機(jī)就用一個(gè)數(shù)的最高位存放符號(hào)(0為正,1為負(fù)).這就是機(jī)器數(shù)的原碼了.假設(shè)機(jī)器能處理的位數(shù)為8.即字長為1byte,原碼能表示數(shù)值的范圍為 (-127-0 +0127
7、)共256個(gè). 有了數(shù)值的表示方法就可以對(duì)數(shù)進(jìn)行算術(shù)運(yùn)算.但是很快就發(fā)現(xiàn)用帶符號(hào)位的原碼進(jìn)行乘除運(yùn)算時(shí)結(jié)果正確,而在加減運(yùn)算的時(shí)候就出現(xiàn)了問題,如下: 假設(shè)字長為8bits ( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 顯然不正確. 因?yàn)樵趦蓚€(gè)整數(shù)的加法運(yùn)算中是沒有問題的,于是就發(fā)現(xiàn)問題出現(xiàn)在帶符號(hào)位的負(fù)數(shù)身上,對(duì)除符號(hào)位外的其余各位逐位取反就產(chǎn)生了反碼.反碼的取值空間和原碼相同且一一對(duì)應(yīng). 下面是反碼的減法運(yùn)算: ( 1 )10 - ( 1 )
8、 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10 (00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有問題. ( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正確 問題出現(xiàn)在(+0)和(-0)上,在人們的計(jì)算概念中零是沒有正負(fù)之分的.(印度人首先將零作為標(biāo)記并放入運(yùn)算之中,包含有零號(hào)的印度數(shù)學(xué)和十進(jìn)制計(jì)數(shù)對(duì)人類文明的貢獻(xiàn)極大). 于是就引入了補(bǔ)碼概念. 負(fù)數(shù)的補(bǔ)碼就是對(duì)反碼加一,而正
9、數(shù)不變,正數(shù)的原碼反碼補(bǔ)碼是一樣的.在補(bǔ)碼中用(-128)代替了(-0),所以補(bǔ)碼的表示范圍為: (-1280127)共256個(gè). 注意:(-128)沒有相對(duì)應(yīng)的原碼和反碼, (-128) = (10000000) 補(bǔ)碼的加減運(yùn)算如下: ( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)補(bǔ) + (11111111)補(bǔ) = (00000000)補(bǔ) = ( 0 ) 正確 ( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 補(bǔ)+ (11111110) 補(bǔ)= (111
10、11111)補(bǔ) = ( -1 ) 正確 所以補(bǔ)碼的設(shè)計(jì)目的是: 使符號(hào)位能與有效值部分一起參加運(yùn)算,從而簡化運(yùn)算規(guī)則. 使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,進(jìn)一步簡化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì) 所有這些轉(zhuǎn)換都是在計(jì)算機(jī)的最底層進(jìn)行的,而在我們使用的匯編、C等其他高級(jí)語言中使用的都是原碼。 原碼就是這個(gè)數(shù)本身的二進(jìn)制形式。 例如0000001 就是+11000001 就是-1 正數(shù)的反碼和補(bǔ)碼都是和原碼相同。 負(fù)數(shù)的反碼是將其原碼除符號(hào)位之外的各位求反 -3反=10000011反=11111100 負(fù)數(shù)的補(bǔ)碼是將其原碼除符號(hào)位之外的各位求反之后在末位再加1。 -3補(bǔ)=10000011補(bǔ)=11111101 一
11、個(gè)數(shù)和它的補(bǔ)碼是可逆的。 為什么要設(shè)立補(bǔ)碼呢? 第一是為了能讓計(jì)算機(jī)執(zhí)行減法: a-b補(bǔ)=a補(bǔ)+(-b)補(bǔ) 第二個(gè)原因是為了統(tǒng)一正0和負(fù)0 正零:00000000 負(fù)零:10000000 這兩個(gè)數(shù)其實(shí)都是0,但他們的原碼卻有不同的表示。 但是他們的補(bǔ)碼是一樣的,都是00000000 特別注意,如果+1之后有進(jìn)位的,要一直往前進(jìn)位,包括符號(hào)位!(這和反碼是不同的?。?10000000補(bǔ) =10000000反+1 =11111111+1 =(1)00000000 =00000000(最高位溢出了,符號(hào)位變成了0) 有人會(huì)問 10000000這個(gè)補(bǔ)碼表示的哪個(gè)數(shù)的補(bǔ)碼呢? 其實(shí)這是一個(gè)規(guī)定,這個(gè)數(shù)表
12、示的是-128 所以n位補(bǔ)碼能表示的范圍是 -2(n-1)到2(n-1)-1 比n位原碼能表示的數(shù)多一個(gè)又例:1011 原碼:01011 反碼:01011 /正數(shù)時(shí),反碼原碼 補(bǔ)碼:01011 /正數(shù)時(shí),補(bǔ)碼原碼 -1011 原碼:11011 反碼:10100 /負(fù)數(shù)時(shí),反碼為原碼取反 補(bǔ)碼:10101 /負(fù)數(shù)時(shí),補(bǔ)碼為原碼取反1 01101 原碼:0.1101 反碼:0.1101 /正數(shù)時(shí),反碼原碼 補(bǔ)碼:0.1101 /正數(shù)時(shí),補(bǔ)碼原碼 -01101 原碼:1.1101 反碼:1.0010 /負(fù)數(shù)時(shí),反碼為原碼取反 補(bǔ)碼:1.0011 /負(fù)數(shù)時(shí),補(bǔ)碼為原碼取反1 總結(jié):在計(jì)算機(jī)內(nèi),定點(diǎn)數(shù)有
13、3種表示法:原碼、反碼和補(bǔ)碼所謂原碼就是前面所介紹的二進(jìn)制定點(diǎn)表示法,即最高位為符號(hào)位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。 反碼表示法規(guī)定:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對(duì)其原碼逐位取反,但符號(hào)位除外。補(bǔ)碼表示法規(guī)定:正數(shù)的補(bǔ)碼與其原碼相同;負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1。1、原碼、反碼和補(bǔ)碼的表示方法(1) 原碼:在數(shù)值前直接加一符號(hào)位的表示法。例如: 符號(hào)位 數(shù)值位+7原= 0 0000111 B-7原= 1 0000111 B 注意:a. 數(shù)0的原碼有兩種形式: +0原=00000000B -0原=10000000B b. 8位二進(jìn)制原碼的表示范圍:-127+127
14、2)反碼: 正數(shù):正數(shù)的反碼與原碼相同。 負(fù)數(shù):負(fù)數(shù)的反碼,符號(hào)位為“1”,數(shù)值部分按位取反。例如: 符號(hào)位 數(shù)值位 +7反= 0 0000111 B -7反= 1 1111000 B注意:a. 數(shù)0的反碼也有兩種形式,即 +0反=00000000B - 0反=11111111B b. 8位二進(jìn)制反碼的表示范圍:-127+1273)補(bǔ)碼的表示方法1)模的概念:把一個(gè)計(jì)量單位稱之為模或模數(shù)。例如,時(shí)鐘是以12進(jìn)制進(jìn)行計(jì)數(shù)循環(huán)的,即以12為模。在時(shí)鐘上,時(shí)針加上(正撥)12的整數(shù)位或減去(反撥)12的整數(shù)位,時(shí)針的位置不變。14點(diǎn)鐘在舍去模12后,成為(下午)2點(diǎn)鐘(14=14-12=2)。從0點(diǎn)
15、出發(fā)逆時(shí)針撥10格即減去10小時(shí),也可看成從0點(diǎn)出發(fā)順時(shí)針撥2格(加上2小時(shí)),即2點(diǎn)(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射為+2。由此可見,對(duì)于一個(gè)模數(shù)為12的循環(huán)系統(tǒng)來說,加2和減10的效果是一樣的;因此,在以12為模的系統(tǒng)中,凡是減10的運(yùn)算都可以用加2來代替,這就把減法問題轉(zhuǎn)化成加法問題了(注:計(jì)算機(jī)的硬件結(jié)構(gòu)中只有加法器,所以大部分的運(yùn)算都必須最終轉(zhuǎn)換為加法)。10和2對(duì)模12而言互為補(bǔ)數(shù)。同理,計(jì)算機(jī)的運(yùn)算部件與寄存器都有一定字長的限制(假設(shè)字長為8),因此它的運(yùn)算也是一種模運(yùn)算。當(dāng)計(jì)數(shù)器計(jì)滿8位也就是256個(gè)數(shù)后會(huì)產(chǎn)生溢出,又從頭開始計(jì)數(shù)。產(chǎn)生溢出的量就是計(jì)數(shù)器的模,顯然,8位二進(jìn)制數(shù),它的模數(shù)為28=256。在計(jì)算中,兩個(gè)互補(bǔ)的數(shù)稱為“補(bǔ)碼”。2)補(bǔ)碼的表示: 正數(shù):正數(shù)的補(bǔ)碼和原碼相同。 負(fù)數(shù):負(fù)數(shù)的補(bǔ)碼則是符號(hào)位為“1”,數(shù)值部分按位取反后再在末位(最低位)加1。也就是“反碼+1”。例如: 符號(hào)位 數(shù)值位 +
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中歷史 第一單元 古代中國經(jīng)濟(jì)的基本結(jié)構(gòu)與特點(diǎn) 第1課 發(fā)達(dá)的古代農(nóng)業(yè)新課說課稿1 新人教版必修2
- Unit 4 There are seven days in a week. Lesson 19(說課稿)-2023-2024學(xué)年人教精通版英語四年級(jí)下冊(cè)
- Unit 1 Teenage Life Listening and Speaking 說課稿 -2024-2025學(xué)年高中英語人教版2019 必修第一冊(cè)001
- 2024年春七年級(jí)語文下冊(cè) 第3單元 10 老王說課稿 新人教版
- Unit 5 Working the Land Reading and thinking 說課稿-2024-2025學(xué)年高二英語人教版(2019)選擇性必修第一冊(cè)
- 農(nóng)田整改合同范本
- 作品出版合同范例
- 鄭州水泥化糞池施工方案
- 關(guān)于活動(dòng)執(zhí)行合同范本
- 加盟區(qū)域保護(hù)合同范例
- 測(cè)繪工程產(chǎn)品價(jià)格表匯編
- 拘留所教育課件02
- 語言和語言學(xué)課件
- 《工作場所安全使用化學(xué)品規(guī)定》
- 裝飾圖案設(shè)計(jì)-裝飾圖案的形式課件
- 2022年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)考試筆試試題及答案解析
- 護(hù)理學(xué)基礎(chǔ)教案導(dǎo)尿術(shù)catheterization
- ICU護(hù)理工作流程
- 廣東版高中信息技術(shù)教案(全套)
- 市政工程設(shè)施養(yǎng)護(hù)維修估算指標(biāo)
- 分布式光伏屋頂調(diào)查表
評(píng)論
0/150
提交評(píng)論