版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二節微型計算機的運算基礎1.2.1無符號數的表示方法1.2.2有符號數的表示方法1.2.3數的定點表示與浮點表示1.2.4計算機中的編碼1.2.1無符號數的表示方法一、數與數制二、不同數制之間的轉換
(一)、進位計數制及其要素: 進位計數制:按進位原則進行計數的方法。例:十進制數有: 0、1、2、3、4、5、6、7、8、9十種狀態。我們說:十進制數基數10,變化范圍0~9,逢十進一。看一個十進制數: 4094 每一位十種數碼的狀態(0~9) 千百十個 本位絕對值的大小=數×位權 103102101100如:千位=4×103=4000一、數與數制十進制數(D)有二個要素:1.基數:十 每一位0、1、2、3、4、5、6、7、8、9 (逢十進一)。2.位權:10i
某一位數絕對值大小=數×位權. 二個要素:適用于二、八、十六進制。
二進制數(B):基數2位權2i
八進制數(Q):基數8位權8i
十六進制數(H):基數16位權16i(二)、進位計數制的表示方法:
1234.56D=1
103+2
102+3
101+4
100+5
10-1+6
10-2推廣到一般形式(任意十進制):
N=±[kn
10n+kn-1
10n-1+……+k0
100
+k-1
10-1+……+k-m
10-m] =±
[ki
10i] (i=-m~n)任何某一位數大小=ki
10i對于任意進制:
N=±
[ki
Ri] (i=-m~n) R—基數,逢R進一.Ri—位權例如:二進制數X=10011101B X=1
27+1
24+1
23+1
22+1
20=(157)10
在計算機里進行運算和處理均是按二進制數處理的。而二進制數寫起來麻煩;教材有時又以八進制或十六進制表示;日常生活中又常用十進制,因此就有:二
十 八
十 二
八數制之間轉換問題 十六
十 二
十六整數十→二(除2取余法)方法:
整數除2取余,直到商為0為止,讀數由后向前。例:(217)10=kn
2n+kn-1
2n-1+……k1
21+k0
20 =2(kn
2n-1+kn-1
2n-2+……+k1
20)+k02(kn
2n-1+kn-1
2n-2+……+k1
20)是2的倍數, k0
是余數.二、不同數制之間的轉換
(一)十
二(217)10÷2----得到余數k0
余數:按照相反的方向寫下來。/2/2/2/2/2/2/2/2217
108
54
27
13
6
3
1
0----商
10011011----余數(217) 10=(11011001)2小數十→二:乘2取整方法:對十進制數逐次乘2, 小數點前邊系數為系數ki。即乘2取整法,位數取決于要求精度。例:(0.613)10
2=1.226k-1=1(0.226)10
2=0.452k-2=0(0.452)10
2=0.904k-3=0(0.904)10
2=1.808k-4=1(0.1001)2=(0.5625)10(0.808)10
2=1.616k-5=1(0.10011)2=(0.609375)10(0.616)10
2=1.232k-6=1(0.100111)2=(0.625)10(0.613)10=(0.1001)2k-7=0
既有整數又有小數部分的,可分別轉換,再組合起來。見教材P143. 二→十
同樣可以用公式進行例:(0.1001)2=1
2-1+1
2-4=0.5+0.0625=(0.5625)10(1001)2=1
23+0
22+0
21+1
20=(9)10
*下面看一下常用的幾種數制寫法:八位二進制數
十進制二進制八進制十六進制BCD
00 0 0 0 1 01 1 1 1 2 10 2 2 10 3 11 3 3 11 4 100 4 4 100 5 101 5 5 101 6 110 6 6 110 7 111 7 7 111 8 1000 10
8 1000 9 1001 11 9 1001
10 1010 12 A
10000 11 1011 13 B 10001 12 1100 14 C 10010 13 1101 15 D 10011 14 1110 16 E 10100 15 1111 17 F 10101 16 10000 20 10 10110 。 。 。 11 。 。 。 。 12 。 。 。 。 。 。(255)D 11111111B 377O(Q) FFH (10,0101,0101)BCD1、 二
八
二→
八:
以小數點為界向左向右三位一段,不夠補0, 三位二進制數用一位八進制數表示。例:(1,101,001.010,011,1)2
不夠補0
不夠補0(001101001.010011
100)2=(151.234)8
八→二:
一位八進制數用三位二進制數表示。(151.234)8=(001101001.010011100)2(二) 二
八,二
十六,二
BCD之間轉換
二→十六: 以小數點為界向左向右四位一段,不夠補0,
四位二進制數用一位十六進制數表示。例:(1101001.0100111)2→(69.4E)16
不夠補0
不夠補0 (0110,1001.0100,1110)2=(69.4E)16
十六→二:一位十六進制數用四位二進制數表示。例:(69.4E)16
=
(0110,1001.0100,1110)22、二
十六BCD數:常用8421碼,每一位十進制數用四位二進制編碼表示。1111B 9D 1001BCD 10D00010000BCD
BCD碼與二進制數之間轉換沒有直接關系, 必須先轉換成十進制,然后轉換成二進制。例:1111111B=255D=0010,0101,0101BCD 0010,0101,0101BCD=255D=11111111B3、 二
BCD1、機器數與真值數據的正負號可以用一位二進制的“0”和“1”來表示。常用的二進制數值數據編碼有原碼、反碼和補碼。由于補碼由許多優點,大多數微機采用補碼進行編碼。
什么是機器數與真值?機器數:帶符號的二進制數值數據在計算機內部的編碼。機器數的最高有效位是符號位:0——正數1——負數真值:機器數所代表的實際值。1.2.2有符號數的表示方法例:
機器數與真值
N1=+1011011N2=-1011011為真值=01011011 =11011011為機器數例:符號怎么表示?對于字長8位機器數:
D7為符號位:0表示“+”,1表示“-”。符號數碼化了。
D6~D0為數字位。如:X=(01011011)2=+91X=(11011011)2=-91
符號數碼化了,對數據進行運算時,符號位應如何處理?把符號位和數值位一起編碼:原碼,反碼,補碼。
正數符號位用“0”表示,負數符號用“1”表示;絕對值的編碼規則與無符號數編碼規則相同,這種表示法稱為原碼。
X=+105[X]原=01101001
X=-105[X]原=11101001
符號數值
2、原碼原碼的特點:
(1)最高位為符號位,正數為0,負數為1;(2)8位二機制原碼表示的范圍為-127~+127;16位二機制原碼表示的范圍為-32767~+32767;(3)0的原碼有兩種表示方法,即+0和-0,若字長為8位:[+0]原
=00000000B[-0]原
=10000000B
正數反碼表示與原碼相同,最高位“0”表示正,其余位為數值位。
負數反碼表示為負數原碼的符號位不變,尾數按位取反。例: [+4]反=0 0000100 [-4]反=1 1111011 [+127]反=0 1111111 [-127]反=10000000 [+0]反=00000000 [-0]反=111111113、反碼
反碼的特點:
(1)最高位仍為符號位,正數為0,負數為1;(2)8位二機制反碼表示的范圍為-127~+127;16位二機制反碼表示的范圍為-32767~+32767;(3)0的原碼有兩種表示方法,若字長為8位:[+0]反=00000000B[-0]反=11111111B(4)正數的反碼與原碼相同。
正數的補碼表示與原碼相同,最高位用“0”表示正,其余位為數值位。
負數的補碼表示為它的反碼+1。(也可從定義出發求補碼,當X<0時,[X]補=2n-|X|,mod2n) [+127]原=01111111[+0]原=00000000 [-127]反=10000000[-0]反=11111111 [-127]補=10000001[-0]補=000000004、補碼
補碼的特點:(1)最高位仍為符號位,正數為0,負數為1;(2)8位二機制補碼表示的范圍為-127~+127;16位二機制補碼表示的范圍為-32767~+32767;(3)0的補碼有一種表示方法,即[+0]補=[-0]補(4)對于8位二機制數10000000,在補碼中的定義為[-128],在原碼中的定義為=[-0],在反碼中的定義為[-127]。三種碼制之間關系及特點:正數:原,反,補相同負數:原,反,補不同,但最高位為1。負數: 原→反,符號位不變,尾數按位求反 原→補,符號位不變,尾數按位求反+1 補→原,符號位不變,尾數求反+1 反→原,符號位不變,尾數求反.小結:說明:1)、原碼表示法簡單,易于理解,與真值轉換方便,但加減運算時麻煩,故引進反碼和補碼。2)、數0的原碼和反碼有兩種表示形式,而補碼表示法中,0只有一種表示形式。
“0”的表示原碼 反碼 補碼[+0]原=000…00 [+0]反=000…00 [+0]補=000…00[-0]原=100…00 [-0]反=111…11 [-0]補=000…003)8位二進制數的表示范圍: 無符號數:0~255 原碼:-127~+127 反碼:-127~+127 補碼:-128~+127已知補碼求真值:補碼的補碼即為真值。例:[X]補=11111111,則X=[[X]補]補=10000001=(-1)10[(-1)10]補=11111111二進制數補碼的運算補碼的運算規則是:
[X+Y]補=[X]補+[Y]補[X-Y]補=[X]補+[-Y]補設 X1=+0001100X2=-0001100Y1=+0000101Y2=-0000101則 [X1]補=00001100 [X2]補=11110100[Y1]補=00000101 [Y2]補=11111011【例1-19】①計算X1+Y1。(兩正數相加)
+0001100X1 00001100 [X1]補+)+0000101Y1 +)00000101 [Y1]補+0010001X1+Y1 00010001 [X1]補+[Y1]補因為:[X1+Y1]補=[+0010001]補=00010001=[X1]補+[Y1]補所以:[X1+Y1]補=[X1]補+[Y1]補②計算X1-Y1。(兩正數相減)
+0001100 X1 00001100 [X1]補-)+0000101 Y1 +)11111011 [-Y1]補
+0000111 X1-Y1100000111 [X1]補+[-Y1]補自然丟失因為:[X1-Y1]補=[+0000111]補=00000111B=[X1]補+[-Y1]補所以:
[X1-Y1]補=[X1]補+[-Y1]補③計算X2+Y2。(兩負數相加)-0001100 X2 11110100 [X2]補+)-0000101 Y2 +)11111011 [Y2]補
-0010001 X2+Y2 111101111 [X2]補+[Y2]補自然丟失因為:[X2+Y2]補=[-0010001]補=11101111B=[X2]補+[Y2]補所以:[X2+Y2]補=[X2]補+[Y2]補④計算X2-Y2。(兩負數相減)-0001100 X2 11110100 [X2]補-)-0000101 Y2 +) 00000101 [-Y2]補
-0000111 X2-Y2 11111001 [X2]補+[-Y2]補因為:[X2-Y2]補=[-0000111]補=11111001B=[X2]補+[-Y2]補所以:[X2-Y2]補=[X2]補+[-Y2]補計算機引入了補碼編碼后,帶來了以下幾個優點:(1)減法轉化成了加法,這樣大大簡化了運算器硬件電路的設計,加減法可用同一硬件電路進行處理。(2)運算時,符號位與數值位同等對待,都按二進制數參加運算,符號位產生的進位丟掉不管,其結果是正確的。這大大簡化了運算規則。結論:[-Y]補怎么求?思考:變補(求負)的概念:已知[Y]補求[-Y]補的過程。方法:對[Y]補的每位按位取反(包括符號位),然后加1,即為[-Y]補。例:[+87]補=01010111B[-87]補=10101001B采用補碼運算后結果是怎樣的?補碼運算的結果也是補碼!欲得真值,還需轉換運算時數的溢出問題
假設機器字長為n位,則有符號整數(一般為補碼)表示的范圍是:-2n-1≤X≤2n-1-1無符號整數表示的范圍是:0≤X≤2n-1例:當n=8時,數的范圍分別是:-128~+127(有符號)0~255(無符號)*運算時數如果超出了范圍則稱為溢出,發生溢出的情況有:1)同號數相加2)異號數相減利用雙進位方法判斷有無溢出是一種常用的方法,他的規則是:(1)如果次高位向最高位有進位
(或借位)
,而最高位向前無進位(或借位)則結果發生溢出;(2)如果次高位向最高位無進位(或借位),而最高位向前有進位(或借位)則結果發生溢出;例:已知
X=-1111111B,Y=-
0000010B[X]補=10000001B=[-127]補[Y]補=11111110B=[-2]補[X]補+[Y]補=101111111B=+127D自然丟失例:已知
X=01000000B,Y=01000010B[X]補=01000000B=[+64]補[Y]補=01000010B=[+66
]補[X]補+[Y]補=100000010B=-2D在計算機中涉及小數點位置時,常用的數據表示個是由兩種,即定點表示法和浮點表示法。定點就是實現約定好小數點位置;而浮點表示則是小數點的位置是浮動的。(1)定點表示任何一個二進指數都可以表示成一個純整數或純小數與一個2的整數次冪的乘積的形式N=2P×S;其中,S表示了N的全部有效數字,稱為N的尾數;P稱為N的階碼;2稱為階碼的底。1.2.3數的定點表示與浮點表示符號二進制數數符尾數為S的純小數小數點在最低位后符號二進制數數符尾數為S的純小數小數點在最低位后定點整數:定點小數:例:用8位原碼表示定點整數100D100D=1100100B定點整數表示為:(2)浮點表示浮點數是小數點的位置可以變動的數。類似于十進制中的科學計數法。N=S×2P;其中,S稱為浮點數的尾數,表示規格化后的小數值;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 于都城區公辦學校選調教師筆試真題2025
- 臨床護理記錄模板
- 2026 年初中秋季開學第一課校園運動損傷應急處理教育
- 2026年康復科階段性康復評估護理查房
- 護理實習生隱私保護知識應知應會專題學習
- 鋁業公司環保管理細則
- 某制藥公司臨床數據管理準則
- 某建筑公司人力資源管理標準
- 2026-2027學年浙教版數學九上 第3章 圓的基本性質 單元綜合知識梳理卷
- 2026年度廣東省強農惠農富農政策明白本
- 2026福建廈門市市政園林局補充非在編工作人員招聘1人筆試參考題庫及答案詳解
- 心血管系統超說明書用藥總結2026
- GA/T 1999.3-2025道路交通事故車輛速度鑒定方法第3部分:基于視頻圖像
- 2026年浙江省大學生鄉村醫生專項計劃招聘考試歷年參考題庫含答案詳解
- 修訂一單一庫質量手冊和程序文件參考文件
- 2026年衛健系統公開遴選公務員筆試試題及答案解析(衛健類)
- 2026年氧化釔行業分析報告及未來發展趨勢報告
- 2025年江蘇省南京市雨花臺區小升初數學試卷
- 2025年高級眼鏡驗光師(三級)《理論知識》考試真題(題后附答案和解析)
- 電網技術改造及檢修工程定額和費用計算規定2020 年版答疑匯編2022
- 2025年度醫院急診科人才培養計劃
評論
0/150
提交評論