<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

    一、原碼、反碼、補(bǔ)碼的定義

    1、原碼的定義

    ①小數(shù)原碼的定義 

    [X] =

    X   0≤X <1
    1- X  -1 < X ≤ 0

     例如: X=+0.1011 , [X]原= 01011
            X=-0.1011  [X]原= 11011

    ②整數(shù)原碼的定義

    [X] =

    X   0≤X <2n
    2n-X  - 2n < X ≤ 0

    2、補(bǔ)碼的定義

    ①小數(shù)補(bǔ)碼的定義

    [X]補(bǔ) =

    X    0≤X <1
    2+ X    -1 ≤ X < 0

    例如:  X=+0.1011,   [X]補(bǔ)= 01011
            X=-0.1011,  [X]補(bǔ)= 10101

    ②整數(shù)補(bǔ)碼的定義 

    [X]補(bǔ) =

    X     0≤X <2n
    2n+1+X    - 2n ≤ X < 0


    3、反碼的定義

    ①小數(shù)反碼的定義 

    [X] =

    X     0≤X <1
    2-2n-1-X    -1 < X ≤ 0

    例如:   X=+0.1011      [X]= 01011
             X=-0.1011     [X]= 10100

    ②整數(shù)反碼的定義

    [X] =

    X     0≤X <2n
    2n+1-1-X     - 2n < X ≤ 0

    4.移碼:移碼只用于表示浮點(diǎn)數(shù)的階碼,所以只用于整數(shù)。

    ①移碼的定義:設(shè)由1位符號(hào)位和n位數(shù)值位組成的階碼,則 [X]=2n + X     -2n≤X ≤ 2n
    例如: X=+1011     [X]=11011     符號(hào)位“1”表示正號(hào)
                  X=-1011     [X]=00101     符號(hào)位“0”表示負(fù)號(hào)

    ②移碼與補(bǔ)碼的關(guān)系: [X]移與[X]補(bǔ)的關(guān)系是符號(hào)位互為反碼,
    例如: X=+1011     [X]=11011     [X]補(bǔ)=01011 
                  X=-1011     [X]=00101     [X]補(bǔ)=10101 

    ③移碼運(yùn)算應(yīng)注意的問(wèn)題:
    ◎?qū)σ拼a運(yùn)算的結(jié)果需要加以修正,修正量為2n ,即對(duì)結(jié)果的符號(hào)位取反后才是移碼形式的正確結(jié)果。
    ◎移碼表示中,0有唯一的編碼——1000…00,當(dāng)出現(xiàn)000…00時(shí)(表示-2n),屬于浮點(diǎn)數(shù)下溢。



    二、補(bǔ)碼加、減運(yùn)算規(guī)則

    1、運(yùn)算規(guī)則

    [X+Y]補(bǔ)= [X]補(bǔ)+ [Y]補(bǔ)
    [X-Y]補(bǔ)= [X]補(bǔ)+ [-Y]補(bǔ)

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

    2、溢出判斷,一般用雙符號(hào)位進(jìn)行判斷:

    符號(hào)位00 表示正數(shù) 11 表示負(fù)數(shù)
    結(jié)果的符號(hào)位為01時(shí),稱為上溢;為10時(shí),稱為下溢

    例題:設(shè)x=0.1101,y=-0.0111,符號(hào)位為雙符號(hào)位
    用補(bǔ)碼求x+y,x-y 
    [x]補(bǔ)+[y]補(bǔ)=00 1101+11 1001=00 0110 
    [x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)=00 1101+00 0111=01 0100
    結(jié)果錯(cuò)誤,正溢出

    三、原碼一位乘的實(shí)現(xiàn):

    設(shè)X=0.1101,Y=-0. 1011,求X*Y
    解:符號(hào)位單獨(dú)處理, x+ y
    數(shù)值部分用原碼進(jìn)行一位乘,如下圖所示:
       

    高位部分積  低位部分積/乘數(shù) 說(shuō)明
         0 0 0 0 0 0    1 0 1 1   起始情況
    +) 0 0 1 1 0 1 乘數(shù)最低位為1,+X

         0 0 1 1 0 1
         0 0 0 1 1 0   1 1 0 1 1(丟) 右移部分積和乘數(shù)
    +) 0 0 1 1 0 1 乘數(shù)最低位為1,+X

         0 1 0 0 1 1 
         0 0 1 0 0 1   1 1 1 0  1(丟) 右移部分積和乘數(shù)
    +) 0 0 0 0 0 0 乘數(shù)最低位為0,+0

         0 0 1 0 0 1 
         0 0 0 1 0 0   1 1 1 1 0(丟) 右移部分積和乘數(shù)
    +) 0 0 1 1 0 1 乘數(shù)最低位為1,+X

         0 1 0 0 0 1 
         0 0 1 0 0 0  1 1 1 1 1(丟) 右移部分積和乘數(shù)


    四、原碼一位除的實(shí)現(xiàn):一般用不恢復(fù)余數(shù)法(加減交替法)

    部分積 低位部分積 附加位 操作說(shuō)明
         0 0 0 0 0 0     1 0 1 1   起始情況
    +) 0 0 0 0 0 0 乘數(shù)最低位為1,+X

         0 0 0 0 0 0
         0 0 0 0 0 0   1 1 0 1 1(丟) 右移部分積和乘數(shù)
    +) 1 1 0 0 1 1 乘數(shù)最低位為1,+X

         0 1 0 0 1 1 
         0 0 1 0 0 1   1 1 1 0  1(丟) 右移部分積和乘數(shù)
    +) 0 0 0 0 0 0 乘數(shù)最低位為0,+0

         0 0 1 0 0 1 
         0 0 0 1 0 0   1 1 1 1 0(丟) 右移部分積和乘數(shù)
    +) 0 0 1 1 0 1 乘數(shù)最低位為1,+X

         0 1 0 0 0 1 
         0 0 1 0 0 0  1 1 1 1 1(丟) 右移部分積和乘數(shù)

    §2.5 浮點(diǎn)運(yùn)算與浮點(diǎn)運(yùn)算器

    一、浮點(diǎn)數(shù)的運(yùn)算規(guī)則

    1、浮點(diǎn)加減法的運(yùn)算步驟

    設(shè)兩個(gè)浮點(diǎn)數(shù) X=Mx※2Ex Y=My※2Ey
    實(shí)現(xiàn)X±Y要用如下5步完成:
    ①對(duì)階操作:小階向大階看齊
    ②進(jìn)行尾數(shù)加減運(yùn)算
    ③規(guī)格化處理:尾數(shù)進(jìn)行運(yùn)算的結(jié)果必須變成規(guī)格化的浮點(diǎn)數(shù),對(duì)于雙符號(hào)位的補(bǔ)碼尾數(shù)來(lái)說(shuō),就必須是
    001×××…×× 或110×××…××的形式
    若不符合上述形式要進(jìn)行左規(guī)或右規(guī)處理。

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

    例題:假定X=0 .0110011*211,Y=0.1101101*2-10(此處的數(shù)均為二進(jìn)制) ?? 計(jì)算X+Y;
    解:[X]: 0 1 010 1100110
        [Y]: 0 0 110 1101101
                符號(hào)位 階碼 尾數(shù)

    第一步:求階差: │ΔE│=|1010-0110|=0100
    第二步:對(duì)階:Y的階碼小, Y的尾數(shù)右移4位
            [Y]變?yōu)?0 1 010 0000110 1101暫時(shí)保存 
    第三步:尾數(shù)相加,采用雙符號(hào)位的補(bǔ)碼運(yùn)算 
        00 1100110 
       +00 0000110 
        00 1101100
    第四步規(guī)格化:滿足規(guī)格化要求 
    第五步:舍入處理,采用0舍1入法處理
    故最終運(yùn)算結(jié)果的浮點(diǎn)數(shù)格式為: 0 1 010 1101101,
    即X+Y=+0. 1101101*210 

    2、浮點(diǎn)乘除法的運(yùn)算步驟

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

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

    posted on 2007-09-21 17:23 放水老倌 閱讀(1594) 評(píng)論(1)  編輯  收藏 所屬分類: 讀書(shū)筆記

    Feedback

    # re: 原碼、反碼、補(bǔ)碼、移碼 2007-09-22 00:06 千里冰封
    這些基礎(chǔ)的東西尤為重要  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 免费人成在线观看网站品爱网日本| 青青视频免费在线| 最近中文字幕无吗高清免费视频| 亚洲综合色一区二区三区小说| 免费观看成人久久网免费观看| 国产亚洲A∨片在线观看| 国产一级黄片儿免费看| 亚洲综合色婷婷七月丁香| A级毛片成人网站免费看| 亚洲精品无码国产| 青青草原1769久久免费播放| 亚洲国产人成网站在线电影动漫| 特级无码毛片免费视频尤物| 亚洲AV无码成人网站久久精品大 | 亚洲国产另类久久久精品| 日韩免费高清播放器| 亚洲AV无码一区东京热久久| 日本在线看片免费人成视频1000 | 一级黄色毛片免费看| 国产亚洲av片在线观看18女人| 韩日电影在线播放免费版| 亚洲中久无码永久在线观看同| a毛片全部播放免费视频完整18| 久久亚洲国产精品五月天| 中文字幕在线免费观看| 亚洲人成网站日本片| 在线观看视频免费国语| 美女视频黄.免费网址| 亚洲区日韩区无码区| 中文字幕日本人妻久久久免费| 亚洲视频在线观看免费| 国产成人精品免费午夜app| 亚洲最大中文字幕无码网站 | 亚洲一区二区三区深夜天堂 | 精品亚洲综合在线第一区| 久久免费观看国产99精品| 亚洲国产成人资源在线软件 | 亚洲一区二区三区乱码A| 美女在线视频观看影院免费天天看| 亚洲精品视频免费在线观看| 在线观看av永久免费|