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

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

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

    DANCE WITH JAVA

    開(kāi)發(fā)出高質(zhì)量的系統(tǒng)

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    好友之家

    最新評(píng)論

    (轉(zhuǎn)載)原碼 反碼 補(bǔ)碼

    今天發(fā)現(xiàn)了個(gè)問(wèn)題,就是對(duì)原碼,反碼,補(bǔ)碼又模糊了。這個(gè)問(wèn)題上學(xué)時(shí)候?qū)W過(guò),因?yàn)橛玫揭膊檫^(guò)幾次,每次都是這樣,每次都會(huì)在一段時(shí)間后慢慢忘記,也許是當(dāng)初學(xué)的不夠好,也許是因?yàn)楝F(xiàn)在的計(jì)算機(jī)中雖然時(shí)刻在運(yùn)行著這些,但是在日常的使用中確看不到這些東西。再次把它們找出來(lái)吧。轉(zhuǎn)載一篇csdn的文章

    數(shù)值有正負(fù)之分,計(jì)算機(jī)就用一個(gè)數(shù)的最高位存放符號(hào)(0為正,1為負(fù)).這就是機(jī)器數(shù)的原碼了.假設(shè)機(jī)器能處理的位數(shù)為8.即字長(zhǎng)為1byte,原碼能表示數(shù)值的范圍為

    (-127~-0 +0~127) 256 個(gè) .

    ? 有了數(shù)值的表示方法就可以對(duì)數(shù)進(jìn)行算術(shù)運(yùn)算 . 但是很快就發(fā)現(xiàn)用帶符號(hào)位的原碼進(jìn)行乘除運(yùn)算時(shí)結(jié)果正確 , 而在加減運(yùn)算的時(shí)候就出現(xiàn)了問(wèn)題 , 如下 : 假設(shè)字長(zhǎng)為 8bits

    ( 1 )?10-? ( 1 )10?=? ( 1 )10?+ ( -1 )10?= ?( 0 )10

    (00000001)?+ (10000001)?= (10000010)?= ( -2 )? 顯然不正確 .

    ? 因?yàn)樵趦蓚€(gè)整數(shù)的加法運(yùn)算中是沒(méi)有問(wèn)題的 , 于是就發(fā)現(xiàn)問(wèn)題出現(xiàn)在帶符號(hào)位的負(fù)數(shù)身上 , 對(duì)除符號(hào)位外的其余各位逐位取反就產(chǎn)生了反碼 . 反碼的取值空間和原碼相同且一一對(duì)應(yīng) . 下面是反碼的減法運(yùn)算 :

    ?( 1 )10?-? ( 1 )?10=? ( 1 )?10+ ( -1 )?10= ?( 0 )10

    ?(00000001)?+ (11111110)?=? (11111111)?=? ( -0 )? 有問(wèn)題 .

    ( 1 )10?-? ( 2)10?=? ( 1 )10?+ ( -2 )10?= ?( -1 )10

    (00000001)?+ (11111101)?=? (11111110)?=? ( -1 )? 正確

    問(wèn)題出現(xiàn)在 (+0) (-0) , 在人們的計(jì)算概念中零是沒(méi)有正負(fù)之分的 .( 印度人首先將零作為標(biāo)記并放入運(yùn)算之中 , 包含有零號(hào)的印度數(shù)學(xué)和十進(jìn)制計(jì)數(shù)對(duì)人類(lèi)文明的貢獻(xiàn)極大 ).

    于是就引入了補(bǔ)碼概念 . 負(fù)數(shù)的補(bǔ)碼就是對(duì)反碼加一 , 而正數(shù)不變 , 正數(shù)的原碼反碼補(bǔ)碼是一樣的 . 在補(bǔ)碼中用 (-128) 代替了 (-0), 所以補(bǔ)碼的表示范圍為 :

    (-128~0~127) 256 個(gè) .

    注意 :(-128) 沒(méi)有相對(duì)應(yīng)的原碼和反碼 , (-128) = (10000000)? 補(bǔ)碼的加減運(yùn)算如下 :

    ( 1 )?10-? ( 1 )?10=? ( 1 )10?+ ( -1 )10?= ?( 0 )10

    (00000001)補(bǔ)?+ (11111111)補(bǔ)?=? (00000000)補(bǔ)?= ( 0 )? 正確

    ( 1 )?10-? ( 2)?10=? ( 1 )10?+ ( -2 )10?= ?( -1 )10

    (00000001)?補(bǔ)+ (11111110)?補(bǔ)=? (11111111)補(bǔ)?= ( -1 )? 正確

    ?? 所以補(bǔ)碼的設(shè)計(jì)目的是 :

    ???? ⑴使符號(hào)位能與有效值部分一起參加運(yùn)算 , 從而簡(jiǎn)化運(yùn)算規(guī)則 .

    ⑵使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算 , 進(jìn)一步簡(jiǎn)化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)

    ? 所有這些轉(zhuǎn)換都是在計(jì)算機(jī)的最底層進(jìn)行的,而在我們使用的匯編、 C 等其他高級(jí)語(yǔ)言中使用的都是原碼。看了上面這些大家應(yīng)該對(duì)原碼、反碼、補(bǔ)碼有了新的認(rèn)識(shí)了吧!

    posted on 2006-09-21 23:37 dreamstone 閱讀(686) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 片段

    主站蜘蛛池模板: 国产又大又粗又硬又长免费| 久久久久久免费视频| 亚洲精品美女久久久久99| 曰批全过程免费视频观看免费软件| 韩日电影在线播放免费版| 中文字幕 亚洲 有码 在线| 亚洲AⅤ无码一区二区三区在线| 午夜在线a亚洲v天堂网2019| 亚洲日韩精品无码专区网站| 日韩精品成人亚洲专区| 成人黄页网站免费观看大全| 无码囯产精品一区二区免费 | 亚洲国产一二三精品无码| 日韩高清免费在线观看| 女人被免费视频网站| 在线观看免费亚洲| 相泽亚洲一区中文字幕| 亚洲精品视频免费| 亚洲国产精品乱码一区二区 | 全亚洲最新黄色特级网站 | 97国产在线公开免费观看| a国产成人免费视频| 91老湿机福利免费体验| 69视频在线观看免费| 男女猛烈激情xx00免费视频| 噜噜嘿在线视频免费观看| 免费人成网站在线观看10分钟| h片在线免费观看| 俄罗斯极品美女毛片免费播放| 国产成人精品久久亚洲| 亚洲精品成人av在线| 亚洲国产日韩精品| 亚洲精品一卡2卡3卡四卡乱码| 天堂亚洲免费视频| 免费福利电影在线观看| 又黄又爽一线毛片免费观看| 狠狠色婷婷狠狠狠亚洲综合| 久久久久亚洲AV无码专区首JN| 亚洲日韩av无码中文| caoporn国产精品免费| 永久黄网站色视频免费直播|