




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章 計算機中的數制和碼制本章學習目標熟練掌握計算機系統(tǒng)中各種進制數的轉換; 熟練掌握計算機系統(tǒng)中常用數值編碼的形式及其轉換 ;了解計算機系統(tǒng)中的數值計算的規(guī)律 ;內容分布2.1 數和數制2.2有符號二進制數的表示方法及溢出問題2.3定點數和浮點數2.4二進制編碼的十進制數(BCD碼)2.5ASCII字符代碼2.1 數和數制一、各種數制及其多項式表示法 人們在應用各種數字符號表示事物個數的長期過程中形成了各種數制。數制是以表示數值所用的數字符號的個數來命名的,常見的有十進制、二進制、十六進制等。各種數制中數字符號的個數稱為該數制的基數。在我們日常的生活中,使用的是十進制,也稱自然進制。而在計
2、算機中由于使用器件的物理狀態(tài)來表示數字,為了方便和可靠,就采用了二進制數字系統(tǒng)。各種進制以及位置表示法十進制數:采用十個數字和小數點符號來表示任意十進制數,比如374.53。二進制數:只有,兩個數字符號,比如(1101.011)2。十六進制數:采用和AF等十六個數字符號,其中A到F分別對應十進制中的10到15兩個數,比如(10AF.12)16。此外,常用的進制還有八進制等多種進制。為避免混淆,要在數字后面加添區(qū)分符,可以是數字角注,也可以是字母角注。其中分別用B,D,H代表二進制、十進制和十六進制。十進制、二進制、十六進制數碼對照表十進制二進制十六進制00000B0H10001B1H20010
3、B2H30011B3H40100B4H50101B5H60110B6H70111B7H81000B8H十進制二進制十六進制91001B9H101010B0AH111011B0BH121100B0CH131101B0DH141110B0EH151111B0FH1610000B10H位置計數法 同一個數字在不同的數位代表的數值是不同的,這種計數方法稱為位置計數法。在位置計數法中,對每一個數位賦予不同的位值,稱為權。每個數位上的數字所表示的量是這個數字和該數位的權的成績。所以一般來說,對于基數為X的任意數可以用多項式表示二、各種數制的相互轉換非十進制數轉換成十進制數可將其按定義展開為多項式,將X=1
4、0代入,按照十進制加法進行計算,所得結果即為對應的十進制數。十進制數轉換成非十進制數整數部分按照基數進行連除,直到商為為止,所得的余數序列逆序就為對應的非十進制數;小數部分按照基數進行連乘,直到小數部分為或達到計算要求的精度為止,每次乘積的整數部分序列就為對應的非十進制小數。例1將十進制數47轉化為二進制形式。 即 (47)10=(101111)2例2將十進制數0.625轉化為二進制形式。 即:(0.625)10= (0.101)2 十六進制數與二進制數之間的轉換 二進制轉換成十六進制數的方法:從小數點開始分別向左向右把整數及小數部分每位分成一組,如果不足則補。將十六進制數取代每組的數值,就可
5、得到對應的十六進制數。例如:二進制:0010 1110 1001 . 1101 0100 十六進制: E . D 十六進制數轉換成二進制數的方法是:用對應的位二進制數取代位十六進制數。例如:十六進制數: C A . B 二進制數:0101 1100 0111 1010. 0011 1011三、二進制數的算術運算二進制數不僅物理實現容易,而且運算方法也較十進制數簡單,只要注意加法是“逢二進一”和減法是“借一作二”的特點,根據十進制的算術運算規(guī)則,就可以完成。四、二進制數的邏輯運算二進制數常用的邏輯運算有與、或、異或及非運算四種,在組成表達式的時候,可以分別用符號AND、OR、XOR及NOT代表,
6、有時也可以用、等符號。二進制數的邏輯運算只按位進行運算。返回本章首頁2.2有符號二進制數的表示方法及溢出問題一、有符號數的表示方法 為了表示一個有符號數,除了數值位外,還應制定符號位,通常以該數的最高位為符號位。D6DDDD3DDD符號位數值位原碼表示法 如果正數的符號位用表示,負數的符號位用表示,數值位表示該數的絕對值,這種表示方法就稱為原碼表示法。X原 原碼表示法簡單容易理解,與真值的轉換也方便這是它的優(yōu)點。缺點是+和-的表示形式不統(tǒng)一,帶來了運算時的麻煩。位二進制原碼所能表示的數值范圍是-127+127。Xn-2Xn-3X1X0當X1 Xn-2Xn-3X1X0 當X補碼表示法a補=a+K
7、 (mod K) = 正數的補碼與其原碼相同,負數的補碼等于其原碼除符號位保持不變,其余各位按位取反,再在最低位加。在這里,的補碼表示只有唯一的形式。位二進制補碼所能表示的數值范圍為-128+127。a 0aKK-|a| -Ka0補碼的運算規(guī)則: X補補X原 X+Y補=X補+Y補 (mod 2n) X-Y補=X補-Y補 (mod 2n) X-Y補=X補+-Y補 (mod 2n) X補-Y補=X補+-Y補 (mod 2n) 需要指出的是,一旦采用補碼進行加減運算,所有參加運算的數和結果都是用補碼表示的。要得到真值,還需轉換。二、有符號數的溢出問題 如果計算機的字長是n位,最高位是符號位,采用補碼
8、表示法時,可表示的數的范圍為-2n-12n-1-1 如果運算結果超出可表示的有符號數的范圍時,就會發(fā)生溢出,使計算結果出錯。加法運算時:如果次高位(數值部分最高位)形成進位加入最高位,而最高位(符號位)沒有進位輸出時;反過來,次高位沒有進位加入最高位,但最高位卻有進位輸出時,都會產生溢出。這兩種情況分別是:兩整數相加超出了能表示的最大數,變成了負數;兩負數相加,超出了能表示的最小數,變成了正數。減法運算時:當次高位不需從最高位借位,但最高位卻需借位(正數減負數,差超出范圍,結果為負數);反過來,次高位需從最高位借位,但最高位不需借位(負數減正數,差超出范圍,結果為正數),都會產生溢出。例如:0
9、1001000B +72 01100010B +9810101010B -86+72與+98之和為+170,超過了位二進制數的所能表示的最大數+127,產生了上溢,所以得到了錯誤的結果-86。10101101B-83+ 10110000B -8001011101B +93-83與-80之和應為-163,超過了位二進制數所能表示的最小數-128,產生了下溢,得到了錯誤結果+93。01001000B+72 - 10110000B -9810101010B -86+72與-98之差應為+170,超過了位二進制數所能表示的最大數+127,產生了上溢,得到了錯誤結果-86。10101101B -83 -
10、 01010000B +8001011101B +93-83與+80之差應為-163,超出了位二進制數所能表示的最小數-128,產生下溢,得到錯誤結果為+93。在后面的章節(jié)中會說明,當在加減運算過程中超出有符號數所能表示的數值范圍時,溢出標志OF被置。返回本章首頁2.3定點數和浮點數在計算機中,用二進制表示實數的方法有兩種,即定點法和浮點法。定點法所謂定點法,即小數點在數中的位置是固定不變的,以定點法表示的實數稱作定點數。方法一:規(guī)定小數點固定在最高數值位之前,機器中所能表示的都是小數。n位數值部分所能表示的數N的范圍(原碼表示)為1-2-nN-(1-2-n)符號位數值位小數點方法二:規(guī)定小數
11、點固定在最低數值位之后,機器中所能表示的數都是整數。n位數值部分所能表示的數N的范圍是2n-1N-(2n-1)符號位數值位小數點由于實際問題中很少有純粹的整數或者小數,所以定點法要求程序員為了調整所要表示的數值范圍,而選擇比例因子。所有原始數據都要用比例因子化成小數或整數,計算結果又要用比例因子恢復。對于復雜的計算,計算中間需要多次調整比例因子。浮點法任意一個二進制數N總可以寫成下面的形式:N=d2p 其中:d稱為尾數,是二進制純小數,指明數據的全部有效數字。前面的符號稱作數符,表示數的符號。P稱為階數,它前面的符號稱為階符,由此可知,將尾數d的小數點向右(對+p)或向左(對-p)移動p位,即
12、得數值N。所以階符和階碼指定小數點的位置,小數點隨著p的符號和大小而浮動,所以這種數稱為浮點數。如果尾數的絕對值小與1而且大于等于0.5,即采用原碼編碼的正數或者負數和采用補碼編碼的正數,其尾數的最高位數字為1;采用補碼編碼的負數,其尾數的最高位數字為0,則該浮點二進制數被稱為規(guī)格化浮點數。數的加減運算要求小數點對齊,對于浮點數而言,就是階碼(包括階符)相等,使階碼相等的操作稱為對階。階符階碼數符尾數1位m位1位n位浮點數運算規(guī)則: 加減法:對階 尾數相加/減 規(guī)格化 判斷溢出(看階碼) 乘除法:尾數相乘/除 階碼相加/減 規(guī)格化 判斷溢出(看階碼) 返回本章首頁2.4二進制編碼的十進制數(B
13、CD碼)分離式BCD碼和組合式BCD碼 在組合式BCD碼格式中,兩位十進制數, 存放在一個字節(jié)中。 如數 82 存放格式為: 1000 0010 在分離式BCD碼格式中, 每位數存放在 8 位字節(jié)的低 4位部分,高 4 位部分的內容與數值無關,如數 82 存放格式為: uuuu1000 uuuu0010 其中u表示任意。 BCD碼的加減運算(修正) 由于BCD編碼是將每個十進制數用一組 4 位二進制數來表示,因此,若將這種BCD碼直接交計算機去運算,由于計算機總是把數當作二進制數來運算,所以結果可能出錯。 例 2.4.2 用BCD碼求 38+49。 0011 1000 38 的BCD碼 + 0
14、100 1001 49 的BCD碼 1000 0001 81 的BCD碼 解決的辦法是對二進制加法運算的結果采用“加 6 修正”,將二進制加法運算的結果修正為BCD碼加法運算的結果。兩個兩位BCD數相加時,對二進制加法運算結果修正的規(guī)則如下: (1) 如果任何兩個對應位BCD數相加的結果向高一位無進位時,若得到的結果小于或等于 9,則該位不需修正;若得到的結果大小 9 且小于 16 位,則該位進行加 6 修正。 (2) 如果任何兩個對應位BCD數相加的結果向高一位有進位時(即結果大于或等于 16),該位進行加 6 修正。 (3) 低位修正結果使高位大于 9 時, 高位進行加 6 修正。 例2.4.3 用BCD碼求 35+21。 0011 1000 35 +0010 0001 21 0101 0110 56 例 2.4.4 用BCD碼求 25+37。 0010 0101 25 +0011 0111 37 0101 1100 低 4 位滿足法則 1 +0000 0110 加 6 修正 0110 0010 62 結果正確 例 2.4.5 用BCD碼求 38+49。 0011 1000 38 +0100 1001 49 1000 0001 低 4 位滿足法則 2 +0000 0110 加 6 修正 1000 0111 87結果正確 1 例 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石油化工工程施工質量管理措施
- 智慧城市建設施工準備計劃
- 水利工程材料配置優(yōu)化計劃
- 河北省邯鄲市2025屆高三下學期4月模擬預測英語試題(解析版)
- 中小學科技教育活動方案及措施
- 2025-2030中國報刊批發(fā)行業(yè)市場運行分析及競爭格局與投資發(fā)展研究報告
- 企業(yè)高管辭職信寫作指南與案例
- 鄭州市公共閱讀空間服務提升研究
- 江蘇鳳凰教育出版社二年級道德與法治全冊教案加教學單元計劃
- 2025-2030中國建筑工程質量檢測行業(yè)發(fā)展分析及發(fā)展前景與趨勢預測研究報告
- 工程質量管理文件
- 監(jiān)理部年度安全生產管理工作考核暨安全管理自查報告
- 《古代漢語》否定句否定詞課件
- 餐飲行業(yè)人事管理流程創(chuàng)新
- 舞臺燈光色彩學應用-深度研究
- 肥胖健康知識科普
- T-CAICI 88-2024 信息通信工程建設安全風險分級管控和隱患排查治理通.用要求
- 《中考前心理輔導》課件
- 醫(yī)療核心制度題庫含答案
- 2025年中國鐵路濟南局集團有限公司招聘筆試參考題庫含答案解析
- 吊車組塔施工方案
評論
0/150
提交評論