




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第1章章 數據的表示與編碼數據的表示與編碼 計算機科學概論2022-4-8第一章 數據的表示與編碼2n 理解數字系統和數制的概念;理解數字系統和數制的概念;n 掌握二進制、十進制及其他進制的計數方法,掌握不同進掌握二進制、十進制及其他進制的計數方法,掌握不同進制間的轉換方法;制間的轉換方法;n 掌握二進制整數和實數的表示方法掌握二進制整數和實數的表示方法n 掌握二進制原碼、反碼、補碼的表示方法;掌握二進制原碼、反碼、補碼的表示方法;n 掌握二進制數的算術運算;掌握二進制數的算術運算;n 了解英文字符、漢字字符等的編碼方式;了解英文字符、漢字字符等的編碼方式;n 了解不同數據類型如何以不同的編
2、碼方式存儲在計算機中了解不同數據類型如何以不同的編碼方式存儲在計算機中 教 學 目目 的的2022-4-8第一章 數據的表示與編碼31計算機中計算機中的數和數的數和數制制 2數值的表數值的表示與運算示與運算3非數值信非數值信息的編碼息的編碼教教 學學 內內 容容2022-4-8第一章 數據的表示與編碼4學學 習習 重重 點點n 進位計數制和數制之間的轉換進位計數制和數制之間的轉換n 定點數和浮點數定點數和浮點數n 帶符號數的表示方法帶符號數的表示方法n 字符編碼字符編碼n 非字符信息的編碼非字符信息的編碼第一節第一節 計算機中的數和數制計算機中的數和數制2022-4-8第一章 數據的表示與編碼
3、6 主要內容:主要內容:n 數字系統數字系統n 進位計數制進位計數制n 進制之間的轉換進制之間的轉換 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼7問題n你所知道的計算機數據都有哪些?你所知道的計算機數據都有哪些?n計算機中的數據是如何表示的?計算機中的數據是如何表示的?n你覺得怎樣表示更合理?為什么?你覺得怎樣表示更合理?為什么?2022-4-8第一章 數據的表示與編碼8 1 計算機中的數和數制 數字系統數字系統n 設計計算機的最初目的是進行數值計算,計算機中首先表設計計算機的最初目的是進行數值計算,計算機中首先表示的數據就是各種數字。示的數據就是各種數字。n 隨著應用的發
4、展,現在計算機數據以不同的形式出現,如:隨著應用的發展,現在計算機數據以不同的形式出現,如:數字、文字、圖像、聲音和視頻等。數字、文字、圖像、聲音和視頻等。n 在計算機內部,所有這些數據形式還是以在計算機內部,所有這些數據形式還是以的形式存儲的形式存儲和處理的。和處理的。n 數字系統基本概念包括:數字系統基本概念包括:數據、信息、媒體數據、信息、媒體 2022-4-8第一章 數據的表示與編碼9 1 計算機中的數和數制n 數據:數據:數據泛指對客觀事物的數量、屬性、位置及其相數據泛指對客觀事物的數量、屬性、位置及其相互關系的抽象表示,以適合于保存、傳遞和處理。互關系的抽象表示,以適合于保存、傳遞
5、和處理。例如,水的溫度是例如,水的溫度是100,禮物的重量是,禮物的重量是100克,木克,木頭的長度是頭的長度是100米,大樓的高度時米,大樓的高度時100層。層。在這些表述中:在這些表述中:100;100克克;100米米;100層就是數據。層就是數據。2022-4-8第一章 數據的表示與編碼10n信息:信息:有一定含義的、有邏輯的、經過加有一定含義的、有邏輯的、經過加工處理的、對決策有價值的數據流。工處理的、對決策有價值的數據流。信息是具有時效性的。信息是具有時效性的。氣溫是氣溫是9土豆燉排骨土豆燉排骨5毛錢一份兒毛錢一份兒n計算機本質上就是進行信息存儲與處理的計算機本質上就是進行信息存儲與
6、處理的工具。工具。 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼11n信息處理信息處理通過數據的采集和輸入,有效地把數據組織通過數據的采集和輸入,有效地把數據組織到計算機中,由計算機系統對數據進行相應到計算機中,由計算機系統對數據進行相應的處理加工,最后向人們提供有用的信息的的處理加工,最后向人們提供有用的信息的全過程。全過程。 信息加工:存儲、建庫、轉換、合并、分類、信息加工:存儲、建庫、轉換、合并、分類、計算、統計、匯總、傳送等計算、統計、匯總、傳送等 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼12 1 計算機中的數和數制n計算機中的數據計算機中的數據
7、數值型數據:數值型數據:具有特定值的一類數據,可用具有特定值的一類數據,可用來表示數量的多少,可比較其大小。來表示數量的多少,可比較其大小。主要用于表示平時的數值,如整數、實數。主要用于表示平時的數值,如整數、實數。非數值型數據:非數值型數據:用于表示文字、圖像、聲音用于表示文字、圖像、聲音等,用于非數值計算類的應用的數據。等,用于非數值計算類的應用的數據。2022-4-8第一章 數據的表示與編碼13問題n現代計算機采用二進制來表示數據現代計算機采用二進制來表示數據n為什么?為什么?2022-4-8第一章 數據的表示與編碼14計算機內部采用的二進制表示方式的原因 p 二進制只有兩個數碼二進制只
8、有兩個數碼“0”和和“1”,易于用物理器件表示。,易于用物理器件表示。p兩種物理狀態易于區別,并且數的存儲、傳送和處理可靠性高。兩種物理狀態易于區別,并且數的存儲、傳送和處理可靠性高。p 運算規則簡單,操作實現容易運算規則簡單,操作實現容易p 二進制加、減、乘、除,可以歸結為加、減、移位三種操作。二進制加、減、乘、除,可以歸結為加、減、移位三種操作。p 理論和實踐證明,采用理論和實踐證明,采用R= e =2.71828進制時,存儲設備最省,進制時,存儲設備最省,取取3比取比取2更節省設備,但二進制比三進制易于表示。更節省設備,但二進制比三進制易于表示。 p 二進制中的二進制中的“1”和和“0”
9、與邏輯命題中的與邏輯命題中的“真真”、“假假”相對應,相對應,為計算機實現邏輯運算和程序中的邏輯判斷創造了良好條件。為計算機實現邏輯運算和程序中的邏輯判斷創造了良好條件。 為了書寫方便,在用戶層面上,計算機也采用八進制和十六進為了書寫方便,在用戶層面上,計算機也采用八進制和十六進制表示方式,進制的表示和進制之間的轉換統稱為制表示方式,進制的表示和進制之間的轉換統稱為進位計數制。進位計數制。 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼15進位計數制的主要內容n 進位基數和位的權數進位基數和位的權數n 二進制、八進制、十六進制數制二進制、八進制、十六進制數制n 數制之間的相互轉
10、換數制之間的相互轉換 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼16n 基數:計數制中用到的數碼的個數,用基數:計數制中用到的數碼的個數,用R表示。表示。n 位權:以基數為底的指數,指數的冪是數位的序位權:以基數為底的指數,指數的冪是數位的序號。號。n 對一個數對一個數S,其基數為,其基數為R,則:,則:1 -n-miiim-m-1 -1 -00112-n2-n1 -n1 -nm-2-1 -0122-n1 -nRK )RKRKRKRKRKRK( )KK.KKKKK(K)(RS 1 計算機中的數和數制1 進位基數和位的權數進位基數和位的權數2022-4-8第一章 數據的表示與
11、編碼17進位制進位制二進制二進制八進制八進制十進制十進制十六進制十六進制規則規則逢二進一逢二進一逢八進一逢八進一逢十進一逢十進一逢十六進一逢十六進一基數基數R=2R=8R=10R=16基本符號基本符號0,10,1,2,70,1,2,90,1,.,9,A,.,F權權2i8i10i16i形式表示形式表示BODH2 計算機常用的各種進制數的表示計算機常用的各種進制數的表示 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼18(1 1)二、八、十六進制數轉換為十進制數)二、八、十六進制數轉換為十進制數(2 2)十進制數轉換為二、八、十六進制數)十進制數轉換為二、八、十六進制數 十進制數轉
12、換為二進制十進制數轉換為二進制 十進制數轉換為八進制十進制數轉換為八進制 十進制數十六進制數十進制數十六進制數(3 3)二進制數和八進制數、十六進制數的轉換)二進制數和八進制數、十六進制數的轉換 二進制數轉換為八、十六進制數二進制數轉換為八、十六進制數 八、十六進制數轉換為二進制數八、十六進制數轉換為二進制數 1 計算機中的數和數制3 數制之間的相互轉換數制之間的相互轉換2022-4-8第一章 數據的表示與編碼191 - n-miiim-m-1 -1 -00112 - n2 - n1 - n1 - nm-2 -1 -0122 - n1 - nRK )RKRKRKRKRKRK( )KK.KKKK
13、K(K)(RS 1 計算機中的數和數制(1)二、八、十六進制數轉換為十進制數)二、八、十六進制數轉換為十進制數轉換規則:轉換規則:2022-4-8第一章 數據的表示與編碼20 例例1-1 將將(10010.11)2轉換為十進制數轉換為十進制數 解:解: (10010.11) 2 =124+023+022+121+020+12-1+12-2 =(18.75)10 1 計算機中的數和數制舉例:舉例:2022-4-8第一章 數據的表示與編碼21例例1-2 將將(548.6)8轉換為十進制數轉換為十進制數 解:解: (548.6)8 =582+481+880+68-1 =(360.75)10例例1-3
14、 將將(C6E.A2)16轉換為十進制數轉換為十進制數 解:解: (C6E.A2)16 =12162+6161+14160+1016-1+216-2 =(3182.6328125)10 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼22n 任一十進制數任一十進制數X,可以表示為,可以表示為X=X整數整數+X小數小數。將這兩部分分開轉換。將這兩部分分開轉換n 整數部分的轉換:整數部分的轉換:采用采用“除除2求余法求余法”,轉換方法為:將,轉換方法為:將X整數整數連續用連續用2除,求得余數(除,求得余數(1或或0)分別為)分別為K0、K1、K2、,直到商為,直到商為0,所有余,所有
15、余數排列數排列Kn-1Kn-2K2K1K0 即為所轉換的二進制整數部分。即為所轉換的二進制整數部分。n 小數部分的轉換:小數部分的轉換:采用采用“乘乘2取整法取整法”。轉換方法為:連續用。轉換方法為:連續用2乘乘X小數小數,依次求得各整數位(依次求得各整數位(0或或1)K-1、K-2、K-m,直到乘積的小數部,直到乘積的小數部分為分為0。在小數轉換過程中,出現。在小數轉換過程中,出現Fi恒不為恒不為0時,可按精度要求確定二時,可按精度要求確定二進制小數的位數。進制小數的位數。 1 計算機中的數和數制(2)十進制數轉換為二、八、十六進制數)十進制數轉換為二、八、十六進制數轉換規則:轉換規則:20
16、22-4-8第一章 數據的表示與編碼23十進制轉換為二進制舉例:十進制轉換為二進制舉例: 例例1-4 求求(65)10的二進制表示的二進制表示 解:解: 除以除以2 商商Qi 余數余數Ki 65/2 32 K0=1 32/2 16 K1=0 16/2 8 K2=0 8/2 4 K3=0 4/2 2 K4=0 2/2 1 K5=0 1/2 0 K6=1 (65)10=(1000001)2 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼24例例1-5 求求(0.6875)10的二進制值的二進制值解:解: 乘以乘以2小數小數Fi整數整數Ki 0.687520.3750K-1=1 0.
17、375020.7500K-2=0 0.750020.5000K-3=1 0.500020.0000K-4=1 (0.6875)10=(0.1011)2 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼25n 將十進制數轉換為八進制數、十六進制數時,使用的方法將十進制數轉換為八進制數、十六進制數時,使用的方法與十進制數轉換成二進制數的方法基本相同,只是求整數與十進制數轉換成二進制數的方法基本相同,只是求整數部分時是用商除以部分時是用商除以8或或16,取其余數;小數部分改用乘以,取其余數;小數部分改用乘以8或或16,取其整數即可。,取其整數即可。 1 計算機中的數和數制(2)十進制數
18、轉換為二、八、十六進制數)十進制數轉換為二、八、十六進制數2022-4-8第一章 數據的表示與編碼26轉換規則:轉換規則:n 二進制數表示為(二進制數表示為(N整數整數+N小數小數),例如,),例如,(11001.01)2n 整數部分:從右向左按三整數部分:從右向左按三(四四)位分組,不足補零,然后按三位分組,不足補零,然后按三(四四)位轉換為相應進制數。位轉換為相應進制數。n 小數部分:從左向右按三小數部分:從左向右按三(四四)位分組,不足補零,然后按三位分組,不足補零,然后按三(四四)位轉換為相應進制數。位轉換為相應進制數。(3)二進制數轉換為八、十六進制數)二進制數轉換為八、十六進制數
19、1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼27 二進制轉換為八進制舉例:二進制轉換為八進制舉例: 例例1-6 二進制數二進制數 (10011001011.10110101)2 (010 011 001 011.101 101 010) 2 2 3 1 3 5 5 2 二進制轉換為十六進制舉例:二進制轉換為十六進制舉例: 例例1-7 二進制數二進制數 (1001011.110101)2 (0100 1011.1101 0100) 2 4 B D 5 1 計算機中的數和數制= (2313.552) 8= (4B.D5) 162022-4-8第一章 數據的表示與編碼28(4)八、
20、十六進制數轉換為二進制數)八、十六進制數轉換為二進制數轉換規則:轉換規則:n 從右向左按一位八進制數轉換為三位二進制數從右向左按一位八進制數轉換為三位二進制數n 從右向左按一位十六進制數轉換為四位二進制數從右向左按一位十六進制數轉換為四位二進制數 1 計算機中的數和數制2022-4-8第一章 數據的表示與編碼29舉例:舉例:n 例例1-8 八進制數八進制數(1365.24)8 轉換為二進制數轉換為二進制數 (1365.24)8 = (001 011 110 101. 010 100)2 = (1011110101.0101)2 n 例例1-9 十六進制數十六進制數(FB4.5C)16 轉換為二
21、進制數轉換為二進制數 (FB4.5C)16 = (1111 1011 0100. 0101 1100) 2 = (111110110100.010111) 2 1 計算機中的數和數制第二節第二節 數值的表示與運算數值的表示與運算2022-4-8第一章 數據的表示與編碼31問題n都是二進制的數字,我們平時使用的數字都是二進制的數字,我們平時使用的數字在計算機里面,如何表示呢?在計算機里面,如何表示呢?n小數點該怎么處理呢?小數點該怎么處理呢?n正、負號該怎么處理呢?正、負號該怎么處理呢?2022-4-8第一章 數據的表示與編碼32 主要內容:主要內容:n計算機中數值表示方法計算機中數值表示方法n
22、整數的表示整數的表示n實數的表示實數的表示n位的算術運算位的算術運算 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼33 2 數值的表示與運算n計算機中存儲相關概念計算機中存儲相關概念存儲單元存儲單元X位機位機位位字節字節字字2022-4-8第一章 數據的表示與編碼34(1)計算機中數據的表示方法)計算機中數據的表示方法n定點表示法定點表示法n 小數點固定在最高位之前,則該數是一個純小數或定點小小數點固定在最高位之前,則該數是一個純小數或定點小數。數。例如例如 N=0.11010101n 把小數點定在尾數最末位之后,表示一個純整數把小數點定在尾數最末位之后,表示一個純整數(定點整
23、定點整數數)。 例如例如 N=01011010 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼35n科學計數法科學計數法n任何一個二進制數任何一個二進制數N都可以表示為都可以表示為N=S2E其中:其中:E是一個二進制整數,稱為數是一個二進制整數,稱為數N的階碼(指數),的階碼(指數),2為階碼(指數)的基數;為階碼(指數)的基數;S是二進制小數,稱為數是二進制小數,稱為數N的尾數。的尾數。E和和S可正可負。可正可負。n尾數尾數S表示數表示數N的全部有效數據,階碼的全部有效數據,階碼E指明指明該數的小數點位置,表示數據的大小范圍。該數的小數點位置,表示數據的大小范圍。 2 數值的表
24、示與運算2022-4-8第一章 數據的表示與編碼36定點表示法與浮點表示法的比較:定點表示法與浮點表示法的比較:n 表示的數據范圍不同(假設字長為位)表示的數據范圍不同(假設字長為位)定點表示法,定點表示法,8 8位小數,能表示的數據絕對值范圍:位小數,能表示的數據絕對值范圍:0.00000010.1111111 (2-71-2-7)浮點表示法,浮點表示法,2 2位階碼,位階碼,1 1位階符,位階符,4 4位尾數,位尾數,1 1位尾符表示的絕對值范圍:位尾符表示的絕對值范圍:0.00012-11 0.1111211n 運算規則的復雜性不同運算規則的復雜性不同定點數:定點數:較簡單;較簡單;浮點
25、數:浮點數:較復雜。較復雜。n 精度不同:精度不同:規格化浮點數的精度遠遠大于定點數。規格化浮點數的精度遠遠大于定點數。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼372.4 帶符號數的表示 數據的表示方法:數據的表示方法:n 數的表示方法,是它們在計算機中的組成格式和編碼規則。數的表示方法,是它們在計算機中的組成格式和編碼規則。n 當一個數送入計算機進行運算處理時,首先將其轉換為二當一個數送入計算機進行運算處理時,首先將其轉換為二進制數,同時還要解決以下幾個問題:進制數,同時還要解決以下幾個問題: 1怎樣表示數的符號怎樣表示數的符號 2怎樣確定小數點的位置(怎樣確定小數點的
26、位置(對于整數則不需要對于整數則不需要)2022-4-8第一章 數據的表示與編碼382.4 帶符號數的表示 n 真值與機器數:真值與機器數:真值:真值: 不帶符號的數是數的不帶符號的數是數的絕對值絕對值,在絕對值前加上表示正負的符號就成了,在絕對值前加上表示正負的符號就成了符符號數號數。 直接用正號直接用正號“+”和負號和負號“-”來表示其正負的二進制數叫做符號數的來表示其正負的二進制數叫做符號數的真值真值。 機器數:機器數: 由于計算機只能直接識別和處理用由于計算機只能直接識別和處理用0,1兩種狀態表示的二進制形式的數據兩種狀態表示的二進制形式的數據,所以在計算機中無法按人門日常的書寫習慣用
27、正負號加絕對值來表示數所以在計算機中無法按人門日常的書寫習慣用正負號加絕對值來表示數值。值。 而與數字一樣而與數字一樣,需要用二進制代碼需要用二進制代碼 0 和和 1 來表示正負號來表示正負號.正號正號(0)、負號、負號(1) 在計算機中表示帶符號的數值數據時在計算機中表示帶符號的數值數據時,數符和數據均采用數符和數據均采用0,1進行編碼進行編碼. 這種采用二進制表示形式的連同數符一起代碼化了的數據這種采用二進制表示形式的連同數符一起代碼化了的數據,在在 計算機中統計算機中統稱為稱為機器數機器數2022-4-8第一章 數據的表示與編碼39(2)整數的表示)整數的表示 整數是沒有小數部分的整型數
28、字整數是沒有小數部分的整型數字 例如:例如:123123、4 4、-56-56、0 0等都是整數,而等都是整數,而1.341.34則不是整數。則不是整數。 計算機中整數的分類:計算機中整數的分類: 無符號整數:無符號整數:不區分正負的正整數。不區分正負的正整數。有符號整數:有符號整數:最高位表示正負的整數。最高位表示正負的整數。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼40整數的原碼、反碼和補碼整數的原碼、反碼和補碼n 原碼:原碼:所謂原碼是用一個數的最高位存放符號所謂原碼是用一個數的最高位存放符號(0為正為正,1為為 負負),后續的其他位與數的真值相同的數據表示方法。,后
29、續的其他位與數的真值相同的數據表示方法。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼41整數的原碼表示:整數的原碼表示:n 規則:規則:機器數的最高一位表示符號,機器數的最高一位表示符號,“0”表示正號;表示正號;“1”表示負號,后面各位用數的絕對值表示。表示負號,后面各位用數的絕對值表示。n n 例例1-10:求:求X=1101和和Y=-1101的原碼的原碼解:解:X=1101時,時, X原原 = 01101Y=-1101時,時, Y原原 = 11101 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼42n 反碼:反碼:正數的反碼表示與原碼相同,即最高符號位用
30、正數的反碼表示與原碼相同,即最高符號位用0表示表示正,其余位為數值位。正,其余位為數值位。負數的反碼表示法是用最高位存放符號,并將原碼負數的反碼表示法是用最高位存放符號,并將原碼的其余各位逐位取反。的其余各位逐位取反。反碼的取值空間和原碼相同且一一對應。反碼的取值空間和原碼相同且一一對應。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼43例例1-12 X=1011 , 則則X反反=01011 Y=-1011,則,則Y反反= 10100整數的反碼整數的反碼 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼44n補碼:補碼:正數的補碼表示與原碼相同,即最高符號位正數的補
31、碼表示與原碼相同,即最高符號位用用0表示正,其余位為數值位。表示正,其余位為數值位。而負數的補碼則為它的反碼、并在最低有效而負數的補碼則為它的反碼、并在最低有效位加位加1所形成。所形成。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼45例例1-11:求:求X=1101和和Y=-1101的補碼的補碼 解:解:X=1101時,時, X原原 = 01101 X補補 = 01101 Y=-1101時,時, Y原原 = 11101 Y反反 = 10010 Y補補 = 10011n 注:我們在使用程序設計語言設計程序中使用的是數據的注:我們在使用程序設計語言設計程序中使用的是數據的原碼,而
32、數據在計算機中是以補碼的形式存在的。原碼,而數據在計算機中是以補碼的形式存在的。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼46n三種編碼的比較:三種編碼的比較:1、 三種編碼的最高位都是符號位。三種編碼的最高位都是符號位。2、 當真值為正時,三種編碼的符號位都用當真值為正時,三種編碼的符號位都用0表示,表示,數值部分與真值相同。數值部分與真值相同。 即它們的表示方法是相同即它們的表示方法是相同的。的。3、 當真值為負時,三種編碼的符號位都用當真值為負時,三種編碼的符號位都用1表示,表示,但數值部分的表示各不相同:但數值部分的表示各不相同:p原碼是原碼是“絕對值絕對值”;p反
33、碼是原碼的反碼是原碼的“每位求反每位求反”;p補碼是原碼的補碼是原碼的 “求反末位加求反末位加1”。4、 它們所能表示的數據范圍基本一樣。它們所能表示的數據范圍基本一樣。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼47n溢出溢出n 因為存儲空間大小(即存儲單元的位的數量)的限制,可以因為存儲空間大小(即存儲單元的位的數量)的限制,可以表達的整數范圍是有限的,當要表達的數超出計算機表達的表達的整數范圍是有限的,當要表達的數超出計算機表達的范圍,就會得到錯誤的結果,我們稱這種情況為范圍,就會得到錯誤的結果,我們稱這種情況為溢出溢出。n 舉例:舉例:假設在假設在4bit存儲單元中,
34、我們可以存儲的無符號整數僅存儲單元中,我們可以存儲的無符號整數僅為為0到到24-1之間之間 ,若要存儲,若要存儲18(10010)2這個數,則計算機只保這個數,則計算機只保留右邊四位留右邊四位(0010)2=2,產生錯誤結果,發生溢出。,產生錯誤結果,發生溢出。 n 在現代計算機中,都有對溢出的保護設置,當發生溢出時,在現代計算機中,都有對溢出的保護設置,當發生溢出時,機器將自動停止當前運算,并報警。機器將自動停止當前運算,并報警。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼48(3)實數的表示)實數的表示實數是帶有整數部分和小數部分的數字實數是帶有整數部分和小數部分的數字
35、例如:例如:1.23、3.4、0.56等都是實數。等都是實數。實數小數點位置不固定,所以稱實數小數點位置不固定,所以稱浮點數浮點數。它是既有整數又有小數的數,純小數可以看作實數的特例。它是既有整數又有小數的數,純小數可以看作實數的特例。在計算機中采用在計算機中采用浮點表示法浮點表示法來表示實數來表示實數 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼49(3)實數的表示()實數的表示(IEEE 標準標準 754 )n 實數的格式n 為了使表示法的為了使表示法的統一,科學計數法(用于十進制)統一,科學計數法(用于十進制)和浮點表示法(用于二進制)都在小數點左邊使用了唯一和浮點表示法
36、(用于二進制)都在小數點左邊使用了唯一的非零數碼。這稱為的非零數碼。這稱為規范化規范化。 n 計算機表示實數時,只存儲實數的三部分信息:計算機表示實數時,只存儲實數的三部分信息:符號,指數,和尾數(小數點右邊的位)符號,指數,和尾數(小數點右邊的位)n 小數點和定點部分左邊的位小數點和定點部分左邊的位1并沒有存儲并沒有存儲他們是隱含的。他們是隱含的。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼50(3)實數的表示)實數的表示n 例如,一個實數例如,一個實數 1000111.0101規范化后變成為:規范化后變成為: 26 1.0001110101 , 在計算機中表示為:在計算機
37、中表示為: + 26 1.0001110101 + 6 0001110101 符號符號 指數指數 尾數尾數n 符號符號一個數的符號可以用一個二進制位來存儲(一個數的符號可以用一個二進制位來存儲(0或者或者1)。)。 指數指數指數(指數(2的冪)定義為小數點移動的位數。其可以為正也可以為的冪)定義為小數點移動的位數。其可以為正也可以為負。存儲指數位負。存儲指數位 -余碼表示法余碼表示法。 尾數尾數尾數是指小數點右邊的二進制數。它定義了該數的精度。尾數是尾數是指小數點右邊的二進制數。它定義了該數的精度。尾數是作為無符號整數存儲的。作為無符號整數存儲的。 2 數值的表示與運算2022-4-8第一章
38、數據的表示與編碼51(3)實數的表示)實數的表示n 余碼系統為了讓正的和負的整數都可以作為無符號數存儲,計算機通常采為了讓正的和負的整數都可以作為無符號數存儲,計算機通常采用用余碼系統余碼系統。在余碼系統中,使用一個正整數(稱為在余碼系統中,使用一個正整數(稱為偏移量偏移量)加到每個數字中,)加到每個數字中,用于把他們同一移到非負的一邊。用于把他們同一移到非負的一邊。偏移量的值是偏移量的值是2m-1-1,m是內存單元存儲指數的大小。是內存單元存儲指數的大小。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼52(3)實數的表示(舉例)實數的表示(舉例)n 假如一個字節存儲的實數是假
39、如一個字節存儲的實數是01011011。利用前面的知識分析:。利用前面的知識分析: 符號位符號位0 指數指數101 尾數尾數1011 在尾數的左邊放置一個小數點,于是得到:在尾數的左邊放置一個小數點,于是得到: 11011 求解指數部分(求解指數部分(101)的內容)的內容 ,使用余,使用余3碼,用其表示的值減去偏移量碼,用其表示的值減去偏移量3即,即, (101)2-3=5-3=2, 指數表示為正數指數表示為正數2。 將上面所得結果的小數點向右移動將上面所得結果的小數點向右移動2位。(負指數域就意味著向左移動小位。(負指數域就意味著向左移動小數數 點。)因此,我們可以得到:點。)因此,我們可
40、以得到: 11011 這就是這就是6.75的二進制表示。的二進制表示。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼53(4)位的算術運算)位的算術運算 1. 整數的算術運算整數的算術運算整數算術運算:整數算術運算:加、減、乘、除;加、減、乘、除;運算方法:運算方法:以補碼的形式進行運算以補碼的形式進行運算 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼54 整數的算術運算(舉例)整數的算術運算(舉例)n 例例 1 13:用二進制補碼表示方法計算:用二進制補碼表示方法計算19加加24。 解:解: (19)()(24)=(43) 這些數字在這些數字在8位存儲單元中用
41、二進制補碼分別表示為位存儲單元中用二進制補碼分別表示為00010011和和00011000。 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 0 進位進位 1 結果結果 0 0 1 0 1 0 1 1 (00101011)2=(+43)10 減法運算可以看作與負數的加法運算,過程大致類似減法運算可以看作與負數的加法運算,過程大致類似。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼55(4)位的算術運算)位的算術運算 2. 實數的算術運算實數的算術運算n實數(浮點數)算術運算包括:實數(浮點數)算術運算包括:加、減、乘、除在內的加、減、乘、除在內的因為乘法和除法是加法
42、和減法的多次重復運因為乘法和除法是加法和減法的多次重復運算算 ,只介紹加法和減法。,只介紹加法和減法。 2 數值的表示與運算2022-4-8第一章 數據的表示與編碼56(4)位的算術運算)位的算術運算 2. 實數的算術運算實數的算術運算(加減法)步驟(加減法)步驟n 檢驗符號檢驗符號如果符號相同,相加其值,結果符號與他們相同。如果符號相同,相加其值,結果符號與他們相同。如果符號不同,比較絕對值,絕對值大的減去小的,如果符號不同,比較絕對值,絕對值大的減去小的,結果符號取絕對值大的一方。結果符號取絕對值大的一方。n 移動小數點移動小數點,使兩者階數相同。,使兩者階數相同。即當階數不同時,數值小的
43、一方將小數點左移,但即當階數不同時,數值小的一方將小數點左移,但要使值不變。要使值不變。n 將變換后的數值進行加減運算將變換后的數值進行加減運算(包括整數和小數部(包括整數和小數部分)。分)。 2 數值的表示與運算第三節第三節 非數值信息的編碼非數值信息的編碼2022-4-8第一章 數據的表示與編碼58 主要內容:主要內容:n字符的編碼字符的編碼ASCII碼碼n漢字的編碼漢字的編碼nUnicode碼碼n靜態圖像的編碼靜態圖像的編碼n動態數據的編碼動態數據的編碼 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼59n 隨著現代計算機運用的深入隨著現代計算機運用的深入計算機不僅僅進行科
44、學計算計算機不僅僅進行科學計算實際上更大量的工作是用于處理人們日常工作和生活中最常使實際上更大量的工作是用于處理人們日常工作和生活中最常使用的信息形式,也就是所謂的非數值型數據用的信息形式,也就是所謂的非數值型數據包括語言文字、邏輯語言、視頻圖像等非數值信息。包括語言文字、邏輯語言、視頻圖像等非數值信息。需要為計算機找到一種合適的方法來表達這些信息。需要為計算機找到一種合適的方法來表達這些信息。n 計算機中使用了不同的計算機中使用了不同的編碼編碼來表示和存儲數字、文字符號、來表示和存儲數字、文字符號、聲音、圖片和圖像(視頻)信息。聲音、圖片和圖像(視頻)信息。n 編碼(或代碼)編碼(或代碼)通
45、常指一種在人和機器之間進行信息轉換通常指一種在人和機器之間進行信息轉換的系統(體系)。的系統(體系)。編碼是在實踐中逐步創造的一種用較少的符號來表達較復雜信編碼是在實踐中逐步創造的一種用較少的符號來表達較復雜信息的方法。息的方法。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼60(1) 字符與字符編碼字符與字符編碼 n 字符是非數值型數據的基礎字符是非數值型數據的基礎字符與字符串數據是計算機中用得最多的非數值字符與字符串數據是計算機中用得最多的非數值型數據。型數據。人們需要利用字符與字符串編寫程序、表示文字人們需要利用字符與字符串編寫程序、表示文字及各類信息,以便與計算機進行交
46、流。及各類信息,以便與計算機進行交流。n 為了使計算機硬件能夠識別和處理字符,必須對為了使計算機硬件能夠識別和處理字符,必須對字符按一定規則用二進制進行編碼,使得系統里字符按一定規則用二進制進行編碼,使得系統里的每一個字母有唯一的編碼。的每一個字母有唯一的編碼。文本中還存在數字和標點符號。文本中還存在數字和標點符號。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼61nASCII碼碼n “美國標準信息交換代碼美國標準信息交換代碼”(American Standard Code for Information Interchange),簡稱,簡稱ASCII碼。碼。其包含其包含7位二
47、進制編碼位二進制編碼,可表示,可表示27=128個個字符。字符。ASCII碼表中:碼表中:編碼值編碼值031不對應任何可印刷(或稱有字形)字符,通常稱不對應任何可印刷(或稱有字形)字符,通常稱它們為控制字符,用于通信中的通信控制或對計算機設備的功它們為控制字符,用于通信中的通信控制或對計算機設備的功能控制。能控制。編碼值為編碼值為32的是空格(或間隔)字符的是空格(或間隔)字符SP。編碼值為編碼值為127的是刪除控制的是刪除控制DEL碼。碼。其余的其余的94個字符稱為可印刷字符。個字符稱為可印刷字符。 標準標準ASCII碼表如圖所示碼表如圖所示(標準(標準ASCII碼表)碼表) 3 非數值信息
48、的編碼2022-4-8第一章 數據的表示與編碼62(2)漢字編碼)漢字編碼n 漢字也是字符,與西文字符比較,漢字也是字符,與西文字符比較,漢字數量大,字形復雜,同音字多漢字數量大,字形復雜,同音字多給漢字在計算機內部的存儲、傳輸、交換、輸入、輸出等帶給漢字在計算機內部的存儲、傳輸、交換、輸入、輸出等帶來了一系列的問題。來了一系列的問題。n 為了能直接使用西文標準鍵盤輸入漢字,還必須為漢字設為了能直接使用西文標準鍵盤輸入漢字,還必須為漢字設計相應的計相應的輸入編碼輸入編碼,以適應計算機處理漢字的需要。,以適應計算機處理漢字的需要。n 漢字編碼的特點:漢字編碼的特點: (1)漢字是一種象形文字,據
49、統計,從甲骨文至今約有六)漢字是一種象形文字,據統計,從甲骨文至今約有六萬左右的漢字。目前常見的漢字有約七千個。萬左右的漢字。目前常見的漢字有約七千個。 (2)漢字字形結構復雜,筆劃繁多。)漢字字形結構復雜,筆劃繁多。 (3)漢字同音字多,多音字多。)漢字同音字多,多音字多。 (4)涉及多種編碼。)涉及多種編碼。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼63 漢字信息所涉及的編碼:漢字信息所涉及的編碼:n 國際碼:國際碼:1980年我國頒布了年我國頒布了信息交換用漢字編碼字符集基本集信息交換用漢字編碼字符集基本集代代號為號為GB2312-80,是國家規定的用于漢字信息處理使
50、用的代碼依據,是國家規定的用于漢字信息處理使用的代碼依據,這種編碼稱為國標碼。這種編碼稱為國標碼。在國標碼的字符集中共收錄了在國標碼的字符集中共收錄了6763個常用漢字和個常用漢字和682個非漢字字符個非漢字字符(圖形、符號),其中一級漢字(圖形、符號),其中一級漢字3755個,個,以漢語拼音為序排列以漢語拼音為序排列,二級,二級漢字漢字3008個,個,以偏旁部首進行排列以偏旁部首進行排列。 n 機內碼:機內碼:漢字的機內碼是計算機系統內部對漢字進行存儲、處理、傳漢字的機內碼是計算機系統內部對漢字進行存儲、處理、傳輸統一使用的代碼,又稱為漢字內碼。輸統一使用的代碼,又稱為漢字內碼。漢字內碼是與
51、漢字內碼是與ASCII對應的,用二進制對漢字進行的編碼。對應的,用二進制對漢字進行的編碼。一般用一般用2個字節來存放漢字的內碼,即雙字節字符集(個字節來存放漢字的內碼,即雙字節字符集(double-byte character set,簡稱,簡稱DBCS) 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼64 漢字信息所涉及的編碼:漢字信息所涉及的編碼:n 字型碼:字型碼:字形碼是漢字的輸出碼,輸出漢字時都字形碼是漢字的輸出碼,輸出漢字時都采用圖形方式,無論漢字的筆畫多少,每個漢字采用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。都可以寫在同樣大小的方塊中。為了
52、能準確地表達漢字的字形,對于每一個漢字都為了能準確地表達漢字的字形,對于每一個漢字都有相應的字形碼有相應的字形碼 。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼65 漢字信息所涉及的編碼:漢字信息所涉及的編碼:n 地址碼:地址碼:指漢字字型碼在漢字庫中存放的位置代指漢字字型碼在漢字庫中存放的位置代碼。碼。當系統輸出漢字時,首先要把機內碼轉換成地址碼,當系統輸出漢字時,首先要把機內碼轉換成地址碼,才能從字庫中提取漢字字型碼,通過輸出設備輸出漢才能從字庫中提取漢字字型碼,通過輸出設備輸出漢字。字。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼66 漢字信息所涉及的
53、編碼:漢字信息所涉及的編碼:n 漢字輸入編碼:漢字輸入編碼:漢字輸入通常有鍵盤輸入、語音輸入、手寫輸入等方漢字輸入通常有鍵盤輸入、語音輸入、手寫輸入等方法,都有一定的優缺點。法,都有一定的優缺點。n 鍵盤輸入方式:將每個漢字用一個或幾個英文鍵表示,這種表示方法鍵盤輸入方式:將每個漢字用一個或幾個英文鍵表示,這種表示方法稱為漢字的稱為漢字的“輸入編碼輸入編碼”。n 漢字輸入編碼的種類:漢字輸入編碼的種類: 數字編碼數字編碼:如電報碼、區位碼等。特點:難于記憶,不易推廣;:如電報碼、區位碼等。特點:難于記憶,不易推廣; 字音編碼字音編碼:如拼音碼等。特點:簡單易學,但重碼多;:如拼音碼等。特點:簡
54、單易學,但重碼多; 字形編碼字形編碼:如五筆字型、表形碼等。特點:重碼少,輸入快,但不:如五筆字型、表形碼等。特點:重碼少,輸入快,但不易掌握;易掌握; 音形編碼音形編碼:如自然碼、快速碼等。特點:規則簡單,重碼少,但不:如自然碼、快速碼等。特點:規則簡單,重碼少,但不易掌握易掌握 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼67(2)漢字編碼)漢字編碼n 漢字在計算機中的處理過程:漢字在計算機中的處理過程: 輸 入 碼 國 標 碼 字 形 碼 機 內 碼 地 址 碼 漢漢 字字 輸輸 出出 漢漢 字字 輸輸 入入 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼6
55、8(3) Unicode碼碼n 雖然雖然ASCII碼碼在字符編碼領域占據主要地位,但是現在其在字符編碼領域占據主要地位,但是現在其他更具擴展性的代碼也越來越普及,這些代碼能夠表示各他更具擴展性的代碼也越來越普及,這些代碼能夠表示各種語言的文檔資料。其中之一是種語言的文檔資料。其中之一是Unicode,它是由硬件及,它是由硬件及軟件的多家主導廠商共同研制開發的,并很快得到計算界軟件的多家主導廠商共同研制開發的,并很快得到計算界的支持。的支持。n Unicode碼采用唯一的碼采用唯一的16位模式位模式來表示每一個符號。因此,來表示每一個符號。因此,Unicode由由65536個個不同的位模式組成不
56、同的位模式組成足以表示用中足以表示用中文、日文和希伯來文等語言書寫的文檔資料,則是文、日文和希伯來文等語言書寫的文檔資料,則是Unicode對比對比ASCII碼最大的優勢。碼最大的優勢。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼69nUnicode碼碼n Unicode即統一碼,又稱萬國碼,是一種以滿足跨語言、跨平臺進行即統一碼,又稱萬國碼,是一種以滿足跨語言、跨平臺進行文本轉換、處理的要求為目的設計的計算機上字符編碼。文本轉換、處理的要求為目的設計的計算機上字符編碼。n 它為每種語言中的每個字符設定了統一并且唯一的二進制編碼。它為每種語言中的每個字符設定了統一并且唯一的二
57、進制編碼。n Unicode 的編碼方式與的編碼方式與 ISO 10646 的通用字元集的通用字元集(亦稱通用字符集)(亦稱通用字符集)概念相對應,使用概念相對應,使用16位的編碼空間。也就是每個字符占用位的編碼空間。也就是每個字符占用2個字節。個字節。n 對于中文而言,對于中文而言,Unicode 16編碼里面已經編碼里面已經包含了包含了GB18030里面的所里面的所有漢字(有漢字(27484個字)個字) n Unicode擴展自擴展自ASCII字元集。其使用字元集。其使用16位元編碼,并位元編碼,并可擴展到可擴展到32位位,這使得這使得Unicode能夠表示世界上所有的書寫語言中可能用於電
58、腦通訊能夠表示世界上所有的書寫語言中可能用於電腦通訊的字元、象形文字和其他符號,這使其有可能成為的字元、象形文字和其他符號,這使其有可能成為ASCII的替代者。的替代者。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼70(4) 靜態圖像編碼靜態圖像編碼n 靜態圖像是與動態圖像相對應的概念,專門指單幅的圖形。靜態圖像是與動態圖像相對應的概念,專門指單幅的圖形。是計算機大量使用的一種主要信息形式。是計算機大量使用的一種主要信息形式。n 計算機表示靜態圖像的兩種方式:計算機表示靜態圖像的兩種方式:位圖圖像位圖圖像矢量圖矢量圖n 由于靜態圖像數據包含的信息量大、且其信息具有一定的由于靜
59、態圖像數據包含的信息量大、且其信息具有一定的規律,因此一般不采用直接編碼的方式對其進行編碼,而規律,因此一般不采用直接編碼的方式對其進行編碼,而是經常采用一些是經常采用一些壓縮算法壓縮算法來表示圖像信息。來表示圖像信息。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼71n位圖圖像位圖圖像n 位圖表示圖象的方法中,圖像被分成位圖表示圖象的方法中,圖像被分成像素矩陣像素矩陣,也稱,也稱點陣點陣,每個像素是一個小點。像素的大小取決于每個像素是一個小點。像素的大小取決于分辨率分辨率。n 把圖像分成像素之后,每一個像素被賦值為一把圖像分成像素之后,每一個像素被賦值為一個位模式個位模式。模
60、式的尺寸和值取決于圖像模式的尺寸和值取決于圖像 例如:對于一個僅有黑白點組成的圖像(例如棋盤),一個例如:對于一個僅有黑白點組成的圖像(例如棋盤),一個1位模式已足夠表示一個像素。位模式已足夠表示一個像素。0模式表示黑像素,模式表示黑像素,1模式表示白模式表示白像素。像素。 n 位圖文件的基本編碼格式為位圖文件的基本編碼格式為BMP(bitmap的縮寫)文件。的縮寫)文件。BMP是一種與硬件設備無關的圖像文件格式。是一種與硬件設備無關的圖像文件格式。 3 非數值信息的編碼2022-4-8第一章 數據的表示與編碼722022-4-8第一章 數據的表示與編碼732022-4-8第一章 數據的表示與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年證券從業資格證考前準備事項試題及答案
- 2025年注冊會計師考試如何提升解題能力試題及答案
- 2024年項目管理考試能力回顧試題及答案
- 2025年新型考生需知證券從業試題及答案
- 微生物檢驗技術復習試題及答案
- 項目管理各種方法試題及答案
- 2024項目管理面臨的風險考題及答案
- 行政管理師職業技能證書申請指南與試題及答案
- 2025年注會考生應確保的備考信念與目標試題及答案
- 財務報告差錯分析與處理試題及答案
- 智能人行通道速、擺閘建筑施工安裝布線調試方案
- 郵政金融主任競聘
- 紡織材料創新與應用
- 防火巡查、檢查和火災隱患整改制度(2篇)
- 茶葉銷售課件教學課件
- 圖文轉換-圖表(小題訓練)(解析版)-2025年部編版中考語文一輪復習
- 與數列相結合的概率綜合問題-2022年高考數學二輪復習之大題專練(解析版)
- 中考數學函數一次函數復習課件
- 全套教學課件《工程倫理學》
- 倍他司汀推廣方案
- 山東省濟南市2023-2024學年高二下學期7月期末考試 數學 含解析
評論
0/150
提交評論