吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>電腦硬件>臺式機>

二進制數值數據的編碼與運算算法

2010年04月15日 14:42 www.solar-ruike.com.cn 作者:佚名 用戶評論(0

二進制數值數據的編碼與運算算法

一、原碼、反碼、補碼的定義

1、原碼的定義

2、補碼的定義


3、反碼的定義

4.移碼:移碼只用于表示浮點數的階碼,所以只用于整數。

①移碼的定義:設由1位符號位和n位數值位組成的階碼,則 [X] 移 =2^ n + X ????-2^ n ≤X ≤ 2^ n
例如: X=+1011 [X] 移 =11011 符號位“1”表示正號
X=-1011 [X] 移 =00101 符號位“0”表示負號

②移碼與補碼的關系: [X]移與[X]補的關系是符號位互為反碼,
例如: X=+1011 [X] 移 =11011 [X] 補 =01011
X=-1011 [X] 移 =00101 [X] 補 =10101

③移碼運算應注意的問題:
◎對移碼運算的結果需要加以修正,修正量為2^n ,即對結果的符號位取反后才是移碼形式的正確結果。
◎移碼表示中,0有唯一的編碼——1000…00,當出現000…00時(表示-2^n ),屬于浮點數下溢。

二、補碼加、減運算規則

1、運算規則

[X+Y] 補 = [X] 補 + [Y] 補
[X-Y] 補 = [X] 補 + [-Y] 補

若已知[Y] 補 ,求[-Y] 補 的方法是:將[Y] 補 的各位(包括符號位)逐位取反再在最低位加1即可。
例如:[Y] 補 = 101101 [-Y] 補 = 010011

2、溢出判斷,一般用雙符號位進行判斷:

符號位00 表示正數 11 表示負數
結果的符號位為01時,稱為上溢;為10時,稱為下溢

例題:設x=0.1101,y=-0.0111,符號位為雙符號位
用補碼求x+y,x-y
[x]補+[y]補=00 1101+11 1001=00 0110
[x-y]補=[x]補+[-y]補=00 1101+00 0111=01 0100
結果錯誤,正溢出
三、原碼一位乘的實現:

設X=0.1101,Y=-0. 1011,求X*Y
解:符號位單獨處理, x 符 + y 符
數值部分用原碼進行一位乘,如下圖所示:


四、原碼一位除的實現:一般用不恢復余數法(加減交替法)


?

§2.5 浮點運算與浮點運算器

一、浮點數的運算規則

1、浮點加減法的運算步驟

設兩個浮點數 X=Mx※2Ex Y=My※2Ey
實現X±Y要用如下5步完成:
①對階操作:小階向大階看齊
②進行尾數加減運算
規格化處理:尾數進行運算的結果必須變成規格化的浮點數,對于雙符號位的補碼尾數來說,就必須是
001×××…×× 或110×××…××的形式
若不符合上述形式要進行左規或右規處理。

④舍入操作:在執行對階或右規操作時常用“0”舍“1”入法將右移出去的尾數數值進行舍入,以確保精度。
⑤判結果的正確性:即檢查階碼是否溢出
若階碼下溢(移碼表示是00…0),要置結果為機器0;
若階碼上溢(超過了階碼表示的最大值)置溢出標志。

例題:假定X=0 .0110011*2^11 ,Y=0.1101101*2^-10 (此處的數均為二進制) ?? 計算X+Y;
解:[X] 浮 : 0 1 010 1100110
[Y] 浮 : 0 0 110 1101101
符號位 階碼 尾數

第一步:求階差: │ΔE│=|1010-0110|=0100
第二步:對階:Y的階碼小, Y的尾數右移4位
[Y] 浮 變為 0 1 010 0000110 1101暫時保存
第三步:尾數相加,采用雙符號位的補碼運算
00 1100110
+00 0000110
00 1101100
第四步規格化:滿足規格化要求
第五步:舍入處理,采用0舍1入法處理
故最終運算結果的浮點數格式為: 0 1 010 1101101,
即X+Y=+0. 1101101*2^10

2、浮點乘除法的運算步驟

①階碼運算:階碼求和(乘法)或階碼求差(除法)
即 [Ex+Ey]移= [Ex]移+ [Ey]補
[Ex-Ey]移= [Ex]移+ [-Ey]補

②浮點數的尾數處理:浮點數中尾數乘除法運算結果要進行舍入處理
例題:X=0 .0110011*2^11 ,Y=0.1101101*2^-10
求X※Y
解:[X] 浮 : 0 1 010 1100110
[Y] 浮 : 0 0 110 1101101
第一步:階碼相加
[Ex+Ey]移=[Ex]移+[Ey]補=1 010+1 110=1 000
1 000為移碼表示的0
第二步:原碼尾數相乘的結果為:
0 10101101101110
第三步:規格化處理:已滿足規格化要求,不需左規,尾數不變,階碼不變。
第四步:舍入處理:按舍入規則,加1進行修正
所以 X※Y= 0.1010111※2^+000

非常好我支持^.^

(4) 100%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      玩百家乐官网五湖四海娱乐城| 百家乐官网如何必胜| 24卦| 百家乐實戰後二穩賺| 大发888注册的微博| 库伦旗| 伯爵百家乐官网的玩法技巧和规则| 百家乐投注之对冲投注| 大发888谨慎心态| 太阳神网上娱乐| 百家乐官网游戏介绍与分析| 买百家乐程序| 申博娱乐城开户| 百家乐官网游乐园| 百家乐平7s88| 德州扑克 | 百家乐官网的各种打法| 新百家乐的玩法技巧和规则| 大发888 34| 百家乐官网赌博软件下载| 真人百家乐怎么对冲| 德州扑克算牌器| 百家乐官网桌小| 百家乐博娱乐网赌百家乐的玩法技巧和规则 | 百家乐官网娱乐网备用网址| 有关百家乐玩家论坛| 皇冠网投| 百家乐获胜秘决| 沈阳盛京棋牌官网| 百家乐官网蓝盾有赢钱的吗| 百家乐玩的技巧| 百家乐官网长玩必输| 太阳城百家乐杀猪吗| 188金宝博开户| 打百家乐的技巧| 星期八娱乐| 百家乐游戏真人游戏| 明升备用网址 | 伟易博百家乐现金网| 年辖:市辖区| 百家乐轮盘技巧|