人妻系列无码专区av在线,国内精品久久久久久婷婷,久草视频在线播放,精品国产线拍大陆久久尤物

反碼補碼計算器(計算機原碼反碼和補碼看了這一篇)

反碼補碼計算器(計算機原碼反碼和補碼看了這一篇)

俞修文 2025-04-11 科技 13 次瀏覽 0個評論

最近看了一些文章說原碼、反碼、補碼。還有一些軟考的那些講師講解。直接說這樣背就沒有問題了。完全沒有解析背后的原理。下面就是軟考的其中一頁PPT。寫得是沒錯,但是這樣背,很快就忘記了,我想從另外一個方向和你說。為什么會出現(xiàn)原碼、反碼和補碼?他們解決了什么東西。

計算機:原碼、反碼和補碼??戳诉@一篇,你不會后悔

其實出現(xiàn)這些都是為了方便表示一個負數(shù),而且在實現(xiàn)數(shù)的運算的時間更簡單。現(xiàn)在計算機表示一個數(shù)都是用補碼,它解決了+0,-0的問題。

下面用4個比特位來表示數(shù)

原碼表示:最高位(MSB most significant bit)代表符號位,0為正,1為符。你會發(fā)現(xiàn)會有-0(0000),+0(1000),和我們平時生活當中只有一個-0和+0是一樣的相違背。然后對一個數(shù)進行加法。按我們正常的去做加法,你會發(fā)現(xiàn)會結果是錯的。

計算機:原碼、反碼和補碼??戳诉@一篇,你不會后悔

原碼表示

明明+1 +(-1)=0,但是你看下面對應的碼表是-2.如果想糾正這種結果也可以通常復雜的邏輯組件實現(xiàn)??唇Y果是不是有點反人性。所以計算機放棄使用這種表示一個數(shù)。

計算機:原碼、反碼和補碼。看了這一篇,你不會后悔

以原碼方式進行加法

反碼表示:這個你是需要記的,反碼是將正數(shù)取反(也就是翻轉它所有位,在硬件層面就是進行NOT運算)。直接上圖。你會發(fā)現(xiàn)仍然存在一個+0(0000),-0(1111)的問題。

計算機:原碼、反碼和補碼。看了這一篇,你不會后悔

反碼表示

做加法是怎么操作的呢,使用循環(huán)進位這種方法,如果加法在最高位有溢出,就從最低位加1.如果不理解你再多看一次加粗的話還有再看一次圖。如果沒有溢出就不用管,但是這樣還是比較麻煩,因為要多做一步加1的操作(我看《計算機系統(tǒng)解密》這書上說這樣操作加法麻煩,但是我覺得采取補碼的表示方法你本來也就要采取碼加1的做法,不也是多做了一步加1的操作嗎,怎么就說有更簡單的方法呢)。但是采取補碼運算時方便了。

計算機:原碼、反碼和補碼??戳诉@一篇,你不會后悔

反碼加法

補碼表示:對正數(shù)取反,也就是對每一位進行NOT運算,然后加1,如果出現(xiàn)進位溢出,那就丟棄。 你看0就是(0000),如果你按補碼的規(guī)則,0000取反就是 1111再加1就是[1]0000,其中1是溢出,那就丟棄,那還是0000,所以完美地0只有一種表示方法。而且原碼,反碼都出現(xiàn)了兩個0,補碼只有一個0,所以補碼能表示更多數(shù),多在能比補碼反碼多表示一個負數(shù)。

計算機:原碼、反碼和補碼??戳诉@一篇,你不會后悔

補碼表示

書中插圖那里我認為不對,-1應該是1111的表示。它想尋找一個-1的表示方法。就是什么數(shù)加1會等于0。0的表示方法和1的表示方法已經(jīng)規(guī)定了好了。所以在尋找一個-1的表示方法,然后就得出了補碼的規(guī)則。所以你知道為什么會出現(xiàn)這些不同碼的表示方法了吧。就是為了尋找一個高效的方法(排隊奇異,使運算簡單)來表示一個負數(shù)。

計算機:原碼、反碼和補碼。看了這一篇,你不會后悔

補碼加法

現(xiàn)在你已經(jīng)了對原碼,反碼,補碼清楚了吧。當你遺忘,你想想怎么表示一個負數(shù),能夠不出現(xiàn)+0,-0的現(xiàn)象。計算是使用補碼來表示的負數(shù)的。最后來做幾道題來結束吧。

(1)十進制數(shù)-48用補碼表示為( )

A、10110000 B、11010000 C、11110000 D、11001111

(2)已知X、Y為兩個有符號數(shù)的定點整數(shù),它們的補碼為:[x]補=00010011B,[y]補=11111001B,則[X+Y]補= B

將你的答案寫在評論區(qū)。

轉載請注明來自夕逆IT,本文標題:《反碼補碼計算器(計算機原碼反碼和補碼看了這一篇)》

每一天,每一秒,你所做的決定都會改變你的人生!

發(fā)表評論

快捷回復:

評論列表 (暫無評論,13人圍觀)參與討論

還沒有評論,來說兩句吧...