大學計算機基礎課件(第二講)_第1頁
大學計算機基礎課件(第二講)_第2頁
大學計算機基礎課件(第二講)_第3頁
大學計算機基礎課件(第二講)_第4頁
大學計算機基礎課件(第二講)_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、大學計算機基礎計算機中數據的表示及其運算 計算機進行數據處理時,首先要將相應的數據輸入到計算機中,并以一定的形式存儲在計算機中。計算機內部是一個二進制數字世界,所以,不管是數值數據數值數據還是非數是非數值數據值數據,都必須轉換成二進制數的形式,才能存入計算機中。 數值數據數值數據 有確定的值并在數軸上有對應的點。 是非數值數據是非數值數據 非數值數據沒有確定的值,如字符、文字、圖像、聲音、邏輯數據等。計算機中采用二進制的原因計算機中采用二進制的原因(1)物理實現容易,(2)二進制運算簡單,(3)機器可靠性高,(4)通用性強各種數據在計算機中的轉換過程 進位計數制 1) 進位計數制進位計數制任何

2、一種計數制,都具有以下三個要點:(1) 數制使用的數碼。十進制含10個數碼:;二進制含個數碼:,等。(2) 進位規則。十進制為逢十進一;二進制為逢二進一等。(3) 每一個數位上數碼所具有的權。十進制數碼各位的權是以10為底的冪,二進制數碼各位的權是以為底的冪。 例如,數828.8的值為 8102+2101+8100+810-1其中,102、101、100、10-1稱為權。對于任何一個十進數N,都可以表示成按權展開的多項式:N=dn10n+dn-110n-1+d1101+d0100+d-110-1+d-m10-m = di10i其中,di是09十個數字中的任意一個,m、n是正整數,10被稱為十進

3、制數的基數,它是相鄰數位的權之比。一般而言,對于用R進制表示的數N(R為任意正整數),可以按權展開為:N=KnRn+Kn-1Rn-1+K1R1+K0R0+K-1R-1+K-mR-m = KiRi其中,Ki是0,1,(R-1)個數字中的任意一個,m、n是正整數,R是基數。表4.1列出了計算機中常用的四種進位計數制。其中十六進制中的A,B,C,D,E,F分別相當于十進制中10,11,12,13,14,15的值。 在十進制中,如將某數的各位向左移動1位,則其值增大到原來的十倍;如將某數的各位向右移動1位,則其值減少到原來的十分之一。同樣,在二進制中,如將數的各位向左移動1位,則其值增大到原來的二倍;

4、反之將數的各位向右移動1位,則其值減少到原來的二分之一。例如,二進數101011.1在左移1位或右移1位后,其值的變化如下: 二進數 值 101011.1 43.5向左移1位 1010111.0 87向右移1位 10101.11 21.752) 不同進位計數制之間的轉換不同進位計數制之間的轉換 轉換所依據的原則是:如果兩個數的值相等,則兩數的整數部分和小數部分的值一定分別相等。 (1) 二進制、八進制和十六進制數轉換為十進制數。任意R進制數轉換成十進制數比較簡單,只需按權展開然后相加,其和便是相應的十進制數。這種方法稱為按權相加法。【例4-1】 求與(11011.01)2等值的十進數解:(11

5、011.01)2=124+123+022+121+120+02-1+12-2 =16+8+0+1+0+0.25=(27.25)10 【例4-2】 將十六進制數35B轉換成十進數.解:(35B)16=3162+5161+11160=768+80+11=(859)10(2) 十進制數轉換成二進制數、八進制或十六進制數整數部分:除基取余法 【例4-3】 把18轉換成二進制數。解:2 18 余0(K0) 2 9 余1(K1) 24 余0(K2) 2 2 余0(K3) 2 1 余1(K4) 0所以 (18)10=(10010)2小數部分:乘基取整法 【例4-4】 將(0.8125)10轉換成二進制數。解

6、: 0.8125 2 1.6250 1(K-1) 21.2500 1(K-2) 20.5000 0(K-3) 2 1.0000 1(K-4) 所以 (0.8125)10=(0.1101)2(3)二進制數與八進制數的相互轉換二進制數轉換成八進制數的方法可以概括為“三位并一位”;八進制數轉換成二進制數的方法可以概括為“一位拆三位”; 【例4-6】 將 (11101.1101)2轉換成八進制數。解: 0 1 1 1 0 1 . 1 1 0 1 0 0 3 5 6 4 所以 (11101.1101)2=(35.64)8(4)二進制數與十六進制數的相互轉換二進制數轉換成十六進制數的方法可以概括為“四位并

7、一位” ;十六進制數轉換成二進制數的方法可以概括為“一位拆四位” ;【例4-7】 將(25.C4)16轉換成二進制數。解: 2 5 . C 4 0010 0101 1100 0100所以 (25.C4)16=(100101.110001)2表表4.2列出了二、八、十、十六進制數之間的對應關系。列出了二、八、十、十六進制數之間的對應關系。 432 機器數 一個數在計算機內部表示成的二進制形式稱為機器數機器數,原來的數稱為這個機器數的真值真值。 機器數具有下列特點:(1) 由于計算機設備的限制,機器數有固定的位數,它所表示的數受到計算機固有位數的限制,所以機器數具有一定的范圍,超過這個范圍便會發生

8、溢出。(2) 機器數將其真值的符號數字化。計算機中使用具有兩個不同狀態的電子器件,它們只能分別表示數字符號“0”和“1”。所以,數的正負號也只能通過0和1來加以區分。通常,用機器數中規定的符號位(一般是一個數的最高位)取0或1分別表示其值的正或負。(3) 機器數中依靠格式上的約定表示小數點的位置。1 1)數據的小數點表示問題)數據的小數點表示問題有兩種表示方法:定點表示法和浮點表示法。 (1) 定點表示法 是約定計算機中所有數據的小數點位置是固定不變的。該位置在設計計算機時已被隱含地規定,因此勿需再用任何狀態來明顯表示小數點。這樣的數被稱為定點數,只能處理定點數的計算機稱為“定點機”。數符 .

9、尾數 .小數點位置(隱含約定) a)純小數表示b)整數表示)21 ()21 ()1()1(nn 有符號數:)21 (0 . 0n 無符號數:) 12() 12(11nn有符號數:) 12(0n無符號數:(2) 浮點表示法 浮點數浮點數:即數中小數點的位置不是固定不變的,而是可浮動的。在科學計算中,可能同時涉及值很大和很小的數。這時,要求計算機所表示的數,其小數點位置是可變的。 浮點數的表示形式 任何一個二進制數可表示成:M(尾數)表示了數的有效數字;r被稱為階(或階碼),表示數的因子中基數的冪次,即為小數點的位置。 MNNrmiiir2)2(2)(129010.1210ieXnxxxxx,10

10、2.1210ieXnxxxxx, a)十進制表示 b)二進制表示任何一個浮點數均由尾數和階構成。尾數可正可負,同樣階也可正可負,所以浮點數的格式為: 數符1bit階7bit階符1bit尾數23bit階符1bit階7bit數符1bit尾數23bit 一般規定,尾數為二進制定點純小數,約定小數點在尾數最高位的左邊;階為二進制定點整數,其隱含基數為2,也可取4、8或16等。(2) MS標準:(1) IEEE標準:(多用于UNIX系統中)因此,可表示的最大數約為:127222|7MAX)1()1(2)21 (2)21 (mkmk凡是處于下溢區中的浮點數,其絕對值小于計算機可表示之值,這時計算機認為該數

11、為“0”,稱為“機器零機器零”。凡是處于上溢區中的浮點數,其絕對值大于計算機可表示之值,這時計算機將中斷此計算工作,向用戶發出信號,指出“出現上溢”。 圖中示意地給出了在數軸上有兩個可表示的浮點數區域規格化操作規格化操作:為了充分利用尾數部分提高數據的表示精度,規定尾數部分的最高位為“1”的數為規格化的尾數規格化的尾數,這種浮點表示稱為規格化表示規格化表示。此時,尾數N 滿足: 。對于不符合規格化表示的浮點數,可以通過調整階碼并同時左右移動尾數的方法來使其成為規格化表示格式。這種變非規格化表示為規格化表示調整過程稱為對浮點數的規格化操作規格化操作。121 N2)數據的符號表示問題)數據的符號表

12、示問題 機器數在參與運算時,若將符號位和數值一起進行運算,有時會產生錯誤的結果。例如,6+4的結果應為2,但按上述方法,則運算如下: 10000110 6的機器數 + 00000100 4的機器數 10001010 結果為10 常用的幾種機器數符號表示方法:原碼、補碼、反碼、移碼。 (1) 原碼表示法 原碼表示的規則是:最左邊一位表示數的符號,且以“0”表示正號,“1”表示負號;其余各位表示數的大小,即其絕對值。 例如,假設機器數的位數是8,則+73原=01001001 73 原=11001001+127 原=01111111 127 原=11111111對于真值0而言,可以被認為是+0,也可

13、被認為是0。+0 =00000000,0 =10000000,所以數0的原碼不唯一,有“正零”和“負零”之分。 原碼表示簡單易懂,與真值轉換方便,用于乘除運算十分方便。 (2) 補碼表示法 模模的概念:“模模”是指一個計量系統的計數范圍。 例如:時鐘的模為12,計量范圍是011。若時鐘指向11,則再過1小時,時鐘將指向0(即12)。n位計算機的模為2n,計量范圍是02n-1。設n=4,模為24=16,計量范圍是015(二進制表示為00001111)。若當前值是1111,則再加1,計數值就變為0000,而在最高位上溢出了一個“1”。任何有模的計量器,均可化減法為加法運算。只需把減數用相應的補碼表

14、示就可將減法運算化為加法運算。 時鐘為例,設當前時鐘指向11點,而準確時間應為7點,調整時間的方法有兩種。一種方法是將時針倒撥4小時,即114=7;另一種方法是將時針順撥8小時,即11+8=19=12+7=7。由此可見,在以12為模的系統中加8和減4的效果是一樣的,即(4)=(+8)(Mod 12)。因此可以說,當以12為模時,4的補碼為12+(4),即為+8。對于整數而言,若計算機字長為n位,則 X 0X2n-1X補= 2n+X 2n-1X0例如,n=8時 +73 補=01001001 73 補=100000000-01001001=10110111 1 補=100000000-000000

15、01=11111111127 補=100000000-01111111=10000001補碼規則補碼規則:當X為正數時,X補就是它自己;當X為負數時,只要將最高位表示為“1”,其他位將真值絕對值的各位取反再在最低位加1即可得到X補。對于定點純小數而言,若計算機字長為n位,則 X 0X1X補= 2+X 1X0時,最大值為X補=01111111=+127;當X0時,絕對值最大為X補=10000000=27=128。所以8位整數的表示范圍是128-+127。數0的補碼表示是唯一的,即 0 補=+0 補=0 補=00000000對于用n位二進制編碼位串表示的定點整數補碼:) 12(211nn對于用n位

16、二進制編碼位串表示的定點純小數補碼:)21 (1)1( n真值與補碼簡便轉換方法 1. 對正數而言,補碼與真值相同;2. 對負數而言,符號位取1,其它各位取反、末位加1; 【例4-8】 求36的補碼。解:第1步:將36表示成二進制數 00100100 第2步:符號位取1,其余各位取反得11011011 第3步:末位加1,結果為11011100 所以 36補 =11011100【例4-9】 求11110110補的真值。解:第1步:除符號位外,各位取反得10001001 第2步:末位加1,結果為10001010 所以 真值為(0001010)2,即(10)10根據補碼定義,可以證明X 補+Y 補=

17、 X+Y 補X 補Y 補= XY 補 這表明,兩個補碼加減的結果也是補碼,而且在運算時,符號位可同數值部分作為一個整體參加運算,如果符號位有進位,則舍去進位。【例4-10】 設a=4,b=6,請用補碼求和方法計算(ab)。解:因為a 補=00000100,b 補=11111010 且ab 補=a 補+b 補=00000100+11111010=11111110所以 (ab)= 2 采用了補碼表示法后,加法和減法統一成了加法運算,可以大大簡化計算機運算部件的電路設計,所以現代計算機中都使用補碼形式的機器數。 前已述及,利用“求反加1”的方法可以得到負數的補碼。如在上述方法中,只求反而不加1,就得

18、到另一種機器數的表示,這就是反碼表示法。 反碼定義為: X 0X2(n-1) X反 = (2n1)+X 2(n-1)X0 反碼表示很少直接用于計算中。反碼主要被用作真值求補碼的一個過渡手段。 (3) 反碼表示法(4)移碼表示法 對于n位整數,移碼定義為X移=2(n-1)+ X 2(n-1)X0”的值取“真”還是取“假”視X的當時值而確定。 邏輯代數(布爾Boole代數) 是指以代數形式研究邏輯變量及其之間關系的性質和應用的科學。實際上是一種符號邏輯,所表達和演算的是事物內部的邏輯關系。邏輯常量邏輯常量和邏輯變量邏輯變量也分別稱為布爾常量布爾常量和布爾變量布爾變量。 最基本的布爾運算有三種:邏輯非、邏輯與、邏輯或運算。其他運算可以用這三種基本運算表示。 邏輯非邏輯非 即邏輯否定,運算規則為: =1 , =001邏輯與邏輯與 即邏輯乘,用“”(讀作“并且”或“與”)表示邏輯與運算。運算規則為: 00=0 01=0 10=011=1 有時也用“”(甚至省略)、“”或“AND”作為邏

溫馨提示

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

評論

0/150

提交評論