<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): 片段

    主站蜘蛛池模板: 大学生a级毛片免费观看| 亚洲av无码成人精品区一本二本| 四虎永久免费影院| 蜜臀AV免费一区二区三区| 一级毛片无遮挡免费全部| 亚洲av永久无码| 亚洲jjzzjjzz在线播放| 亚洲精品高清久久| 亚洲精品白浆高清久久久久久| 国产a级特黄的片子视频免费| 日本免费网址大全在线观看 | 成人毛片18岁女人毛片免费看| 日本免费一区二区三区| 在线观看免费无码视频| 七次郎成人免费线路视频| 大桥未久亚洲无av码在线| 亚洲国产精品无码久久九九大片| 亚洲一区电影在线观看| 亚洲日本国产精华液| 亚洲精品在线免费观看| 亚洲人成在线观看| 亚洲丝袜美腿视频| 亚洲一区二区电影| 久久夜色精品国产噜噜亚洲AV| 亚洲AV中文无码乱人伦下载| 亚洲精品成人无码中文毛片不卡| 国产性爱在线观看亚洲黄色一级片 | 蜜臀91精品国产免费观看| 免费中文熟妇在线影片| 国内精品乱码卡1卡2卡3免费| 91网站免费观看| 成年人免费的视频| 免费看国产精品3a黄的视频| 无码免费午夜福利片在线| 永久免费毛片在线播放| 女人被弄到高潮的免费视频 | 亚洲国产成人久久精品软件| 亚洲色最新高清av网站| 大桥未久亚洲无av码在线 | 免费日韩在线视频| 亚洲国产成人精品无码久久久久久综合 |