數在計算機中是以二進制形式表示的_第1頁
數在計算機中是以二進制形式表示的_第2頁
數在計算機中是以二進制形式表示的_第3頁
數在計算機中是以二進制形式表示的_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數在計算機中是以二進制形式表示的。數分為有符號數和無符號數。原碼、反碼、補碼都是有符號定點數的表示方法。一個有符號定點數的最高位為符號位,0 代表正數, 1 代表負數。=以下都以 8 位 bit的整數為例, 原碼就是這個數本身的二進制形式。例如0000001就是 +11000001就是 -1= 規定 :正數的反碼和補碼都是和原碼相同。負數的反碼是將其原碼除符號位之外的各位求反。例如: -3 的原碼 = 10000011 ,其反碼 = 11111100負數的補碼是將其原碼除符號位之外的各位求反之后在末位再加1,即:負數補碼 =反碼 +1。例如: -3 的補碼 = 10000011反碼 +1 =

2、11111100+1=11111101特別注意,如果 +1 之后有進位的,要一直往前進位,包括符號位!(這和反碼是不同的!)。可以證明:一個數和它的補碼是可逆的。=為什么要設立補碼呢?第一是為了能讓計算機用加法實現減法:a-b 補 =a 補+(-b )補第二個原因是為了統一正0和負 0正零原碼: 00000000負零原碼: 10000000原碼不一樣!如果用補碼,那么他們的補碼都是00000000,相同!10000000補= 10000000反 +1= 11111111+1= (1)00000000注意:這里有 9 個 bit,(1)是溢出了,被自動丟失= 00000000=有人會問 1000

3、0000 這個補碼表示的哪個數的補碼呢?其實這是一個規定,這個數表示的是-128所以 n 位補碼能表示的范圍是-2(n-1)到 2(n-1)-1比 n 位原碼能表示的數多一個例如: 1011 (數值 11)原碼: 01011反碼: 01011 / 正數時,反碼原碼補碼: 01011 / 正數時,補碼原碼例如: -1011 (數值 -11 )原碼: 11011反碼: 10100 / 負數時,反碼為原碼取反補碼: 10101 / 負數時,補碼為原碼取反1=看一個小數的情況01101原碼: 0.1101反碼: 0.1101 /正數時,反碼原碼補碼: 0.1101 /正數時,補碼原碼-0 1101原碼

4、: 1.1101反碼: 1.0010 /負數時,反碼為原碼取反補碼: 1.0011 /負數時,補碼為原碼取反1=總結:在計算機內,定點數有3 種表示法:原碼、反碼和補碼所謂原碼就是前面所介紹的二進制定點表示法,即最高位為符號位,“ 0”表示正,“ 1”表示負,其余位表示數值的大小。反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。補碼表示法規定:正數的補碼與其原碼相同; 負數的補碼是在其反碼的末位加1。=1、原碼、反碼和補碼的表示方法1)原碼:在數值前直接加一符號位的表示法。例如:符號位數值位+7 原=00000111-7 原=10000111注意:數 0 的

5、原碼有兩種形式:+0 原=00000000-0 原=100000008 位二進制原碼的表示范圍:-127 +127=2)反碼:正數:正數的反碼與原碼相同。負數:負數的反碼,符號位為“1”,數值部分按位取反。例如: 符號位數值位+7 反= 00000111-7 反= 11111000注意:數 0 的反碼也有兩種形式,即:+0反=00000000-0反=111111118 位二進制反碼的表示范圍: -127 +127=3)補碼的表示方法1)模的概念:把一個計量單位稱之為模或模數。例如,時鐘是以12 進制進行計數循環的,即以12 為模。在時鐘上,時針加上(正撥)12 的整數位或減去(反撥) 12 的

6、整數位,時針的位置不變。14 點鐘在舍去模 12 后,成為(下午) 2 點鐘( 14=14-12=2)。從 0 點出發逆時針撥10 格即減去 10 小時,也可看成從0點出發順時針撥2 格(加上 2 小時),即 2 點( 0-10=-10=-10+12=2 )。因此,在模 12 的前提下, -10 可映射為 +2。由此可見,對于一個模數為 12 的循環系統來說,加 2 和減 10 的效果是一樣的;因此,在以 12 為模的系統中,凡是減 10 的運算都可以用加 2 來代替,這就把減法問題轉化成加法問題了 (注:計算機的硬件結構中只有加法器,所以大部分的運算都必須最終轉換為加法)。10和2對模 12

7、 而言互為補數。同理,計算機的運算部件與寄存器都有一定字長的限制(假設字長為 8),因此它的運算也是一種模運算。 當計數器計滿 8 位也就是 256 個數后會產生溢出, 又從頭開始計數。產生溢出的量就是計數器的模,顯然, 8 位二進制數,它的模數為 28=256。在計算中,兩個互補的數稱為“補碼”。2)補碼的表示:正數:正數的補碼和原碼相同。負數:負數的補碼則是符號位為“ 1”,數值部分按位取反后再在末位(最低位)加 1。也就是“反碼 +1”。例如:符號位數值位+7 補=00000111-7 補=11111001補碼在微型機中是一種重要的編碼形式,請注意:a. 采用補碼后,可以方便地將減法運算轉化成加法運算, 運算過程得到簡化。 正數的補碼即是它所表示的數的真值, 而負數的補碼的數值部份卻不是它所表示的數的真值。采用補碼進行運算,所得結果仍為補碼。b. 與原碼、反碼不同,數值0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論