- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二进位有号数-2
數位邏輯與實習 曾建勳 Week 2 補數: 計算機系統為了簡化減法及邏輯運算所採用的方法 ? 對於每一個以 r 為基底的系統,會有兩種補數形式: 基底的補數也就是 r 的補數 (r-complement) = N 以及基底減1的補數也就是 (r ? 1)的補數 ((r ? 1) complement)= 。 ■ (r ? 1)的補數 範例: ? 範例: (N-1) c 1111111 c ■ r 的補數 (無號)補數 範例:基底-10 範例:基底-2 = 999999-012398+1 = 999999-246700+1 = 0010011+1 = 1001000+1 ■ 補數的減法 (無號)補數 (亦可適用r-1補數) (適用於符號大小系統: 先比較符號與數字大小) 利用10的補數法求72532 ? 3250。 利用10的補數法求 3250 – 72532 法1: 沒有末端進位。 (無號)補數 範例 1.5 範例 1.6 -(72531-3250)=-(72531+3250 )= -(72532+96750)=-69282 c 法2: MN。 已知兩個二進數 X = 1010100 及 Y = 1000011 ,試利用2的補數法表示出減法: (a) X – Y (a) ;(b) (b) Y ? X 。 沒有末端進位。因此,答案 Y – X = ? (1101111之 2 的補數) = ? 0010001. (無號)補數 範例 1.7 ? 無號數的減法也可以用 (r ? 1) 的補數來做。要記住的是 (r ? 1)的補數是比 r 的補數少1。 利用1的補數法來求例題1-7的結果。 (無號)補數 範例 1.8 沒有末端進位。因此,答案 Y – X = ? (1101110之 1 的補數) = ? 0010001. (end-around carry) 二進位有號數 ? 要表示負整數,我們需要一個負值的表示式。 一般的算術,都將負數用一個負號表示,而正數用正號來表示。 慣例將符號位元以0代表正數,1代表負數。 電腦上之算數運算: 符號補數系統(signed-complement system)?負數是以其補數來表示 ? 表1-3列出三種表示式之所有的4位元二進位有號數。 範例: = -9 二進位有號數 ■ 算術的加法 在符號大小系統中兩個數字的加法與一般算術的規則一樣。如果符號相同,我們將兩個數字的大小相加,然後將所得的和給定相同的符號。如果符號不同,我們將數字較大者減去數字較小的數,然後將結果給定與較大數相同的符號。E.g. (+25)+(-37)=-(37-25)=-12 帶有負數的兩個有號二進數加法可以被表示成有號數2的補數形式之兩個數字,包含它們的符號位元做加法。超出符號位元位置的進位捨去。 經由加法後若所得的和是負數,則它是在2的補數形式。 二進位有號數 範例: 有號數補數系統(不需做比較或減法,只有加法) 2s’ of -6 2s’ of -13 2s’ of -7 2s’ of -19 2s’ of -6 2s’ of -13 ■ 算術的減法 ? 以2的補數形式表示: 將減數取2的補數 (包含符號位元) 並且與被減數相加 (包含符號位元)。 超過符號位元位置所產生的進位則捨去。(注意:要避免溢位產生, n位+n位=n+1位) (? 6) ? (? 13) ? +(+ 7) 二進位有號數 範例: +A-B = +A+(-B) = +A+B’ -A-B = A’+B’ -A-(-B) = A’-B’ = A’+(B’)’ = A’+B +A-(-B) = A+B 二進位碼 ■ BCD 碼 BCD碼是8,4,2,1,碼 表1-4列有一個十進位數元對應一個4位元碼。 一個帶有 k個數元的十進數則需要4k 個位元的BCD碼來表示, i.e. 4 個1組。 例如,十進數396可用12個位元之BCD碼0011 1001 0110來表示,每一群4個位元代表一個十進位數元。 在BCD碼中一個十進數只有0到9之間有著相對應的二進位數字,BCD碼中大於10的部分雖然它們每個數字都有不同的0與1的二進位組合,但是,1010到1111(總共6組)的二進位組合對於BCD碼並沒有意義。 二進位和大於(1001)BCD ,必須再加上(0110)BCD=(6)10 (MSB) ? 以二進位編碼來表示十進位數 (binary-coded decimal),通稱為BCD碼。 =111 以十進數185來看其相對應的BCD碼及二進位碼: ■ BCD 加法 二進位碼 範例: = = = 6
文档评论(0)