關於計算機反碼和補碼怎樣分別用小數和整數表示?

2025-02-10 23:40:17 字數 4079 閱讀 9352

1樓:匿名使用者

數值有正負之分,計算機為了存放負數,就用乙個數的最高位存放符號(0為正,1為負),計算機裡就出現了正零和負零現象。如果用1個byte來寫,正零是00000000,負零是10000000.正零不等於負零了。

為了使涉及負數的運算不出錯,想出了反碼和補碼。 負數,除符號位外的其餘各位逐位取反就產生了反碼(0取1,1取0) 負數的補碼就是反碼加一。 正數的原碼反碼補碼是一樣的。

小數怎麼變補碼和反碼?先要化成二進位原碼。再看小數如何表示。

如果用定點小數,則最高位是符號位,接下來是小數最高位,從原碼到補碼,反碼的做法同上面說的整數做法一樣。 如果用浮點數,階碼部分為8位補碼定點整數,尾數部分為24位補碼定點小數。 階碼部分有一位階符位,表示指數的符號,其餘階碼錶示冪次。

尾數部分,數符表示尾數的符號位、其餘尾數表示規格化後的小數值。參考資料。

者: l_o_o_n_i_e - 總監。

2樓:匿名使用者

關於這個問題很是複雜,要通過某些資料查閱,希望我的建議對你有用,對了,我是萬龍,就選我的吧。

3樓:沙裡波特

-計算機,有反碼嗎?

另外,你這話,說反了。

你應該說:在計算機中,小數和整數,怎樣分別用補碼錶示?

呵呵,這個問題,就很簡單了。

為什麼現代計算機都用補碼來表示整數

4樓:做而論道

就是為了:簡化硬體,省錢。因為,負數,可以用乙個正數(補碼)代替。

如: 24 - 1 = 23

24 + 99 = (一百) 23

忽略進位,用 +99 就可以代替-1。

那麼,藉助於補碼,就可以,把減法轉換為加法運算。

因此,在計算機中,只需設定乙個加法器,便可加減通吃了。

5樓:可軒

機器數用補碼錶示的好處:

原碼簡單,適用於乘除運算,但用原碼錶示的數進行加減法運算比較複雜。

補碼,減法運算可以用加法來實現,例如 [x-y]補 = [x]補 +[y]補,而且,數的符號位也可以參與運算,便於運算結果的正負及是否溢位判斷。

因此在計算機中大都採用補碼來進行加減及乘除運算。

不僅是整數,小數亦可用補碼錶示)

計算機中,為什麼負整數用補碼錶示而不直接用原碼,例

6樓:狄文靜庫雅

因為乙個位元組是八位的。我們總是利用最高位表示符號位,正數的補碼是本身舉個例子,若正數0111,1111

按照你的意思,直接加1

不就變成10111,1111了嘛。

還有,補碼錶示負數是因為計算機中的加減運算,對負數都是通過補碼來運算的,通過補碼的加減,得到的補碼再反過來求出對應的負數,計算機中的計算只有0和1

不可能在數字前加正負號,所以負數必須用補碼。

計算機中關於帶符號整數的反碼、補碼、真值和原碼

7樓:科創

原碼:是指將最高位作為符號位(0表示正,1表示負),其它數字位代表數值本身的絕對值的數字表示方式。

例如:數字6 在計算機中原碼錶示為:0 000 0110

其中,第乙個數字0是符號位,0表示正數,0 000110是數字6的二進位資料表示。

數字-6 在計算機中原碼錶示為:1 000 0110

以上是在8位計算機中的原碼錶示,反碼錶示規則為:如果是正數,則表示方法和原碼一樣;如果是負數,符號位不變,其餘各位取反,則得到這個數字的反碼錶示形式。

例如,數字6 在8位 計算機中的反碼就是它的原碼:00000110

數字-6 在 8位計算機中的反碼為:11111001

補碼是計算機表示有號資料的一般方式,其規則為:如果是正整數,則表示方法和原碼一樣。

如果是負數,則將數字的反碼加上1(相當於將原碼數值位取反然後在最低位加1)。

例如:數字6 在8位 計算機中的補碼就是它的原碼:00000110

數字-6 在8 位 計算機中的補碼系統中為:1111 1010

如果數字 -6再取補碼是(0000 0101+1)=0000 0110 ( 6)

減法通常轉化為加法進行運算,將被減數與減數的補碼進行加法運算,即可得出差。

舉例:15-5計算方法:

11 1111 111(進位)

ps: 補碼之所以會存在,是為了讓負數變成能夠進行『+』運算的整數。在計算機系統中,數值一律用補碼來表示和儲存。

原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。負0與正0的表示方法相同。

注意:0的反碼、補碼都為零。

在用補碼方式表示n位帶符號整數時,最大數為2的n次方-1,最小數為負的2的(n-1)次方。以8bits為例,最大數為127(對應的二進位數01111111),最小數為-128(對應的二進位數為10000000)。由於計算機中存在位數的限制,整數溢位的問題就是不可避免的。

總結起來,整數的加法運算會產生以下幾種情況。

兩個正數相加,如果最高位變成了1,則產生了正溢位。

兩個負數相加,如果最高位變成了0,則產生了負溢位。

一正一負相加,不會產生溢位。

8樓:做而論道

計算機,使用二進位數。

八位二進位數是:0000 0000~1111 1111。

這些二進位數,都是正整數。

那麼,把它們換算成十進位,就是:0~255。

在不同應用場合,它們可以代表:數字、英文字元、漢字、聲音、影象。。。

在計算機系統中,數值,一律採用補碼錶示和儲存。

原碼和反碼,在計算機中,都是不用的。

只要掌握「數值與補碼」的換算,就可以了。

真值,又是什麼呢?

是「true form」嗎? 這就是原碼。是沒有用的垃圾。

8 位補碼代表的數值,可見下表:

如果計算機採用8位整數 那麼使用原碼 反碼 補碼分別能夠表示整數的範圍是多少

9樓:

如果計算機採用8位整數 那麼使用原碼 反碼 補碼分別能夠表示整數的範圍是多少。

為什麼現代計算機都用補碼來表示整數

10樓:機器

機器數用補碼錶示的好處:

原尺櫻薯碼簡單,適用於乘除運算,但用原碼錶示的數進行加減法運算比較複雜。

補碼,減法運算可以用加法來實現,例如 [x-y]補 = x]補 +[y]補,而且,數的符號位也可以參與運算,便於運算結果的正負及是否溢位頌梁判斷。

因此在計算機中大都採用補碼來進行加減及乘除運算。

不僅是整數,小數亦可用補碼陵者表示)

如果計算機採用8位整數 那麼使用原碼 反碼 補碼分別能夠表示整數的範圍是多少

11樓:聽不清啊

如果計算機採用8位二進位數,那麼使用原碼 反碼 補碼分別能夠表示整數的範圍是:

原碼:-127~+127

反碼:-127~+127

補碼:-128~+127

原碼、反碼、補碼,計算機中負數的表示?

12樓:網友

先把數轉化成二進位,負數符號位為1正數0,此為原碼。(如-35的二進位為10100011。注:

第一位為符號位。)原碼轉反碼:符號位為1不變,其餘取反(有)。

反碼轉補碼:反碼加一。(如:

13樓:劉政利

[-0]原=小數點前的數字表示符號,整數用0表示,負數用1表示)[-0]反=負數的反碼為 除符號外,其他位全取反)[-0]補=負數的補碼為反碼加1,在反碼的基礎上再加1以後符號為可能改變)

正數的原碼、反碼、補碼相同,都等於原碼。

14樓:做而論道

計算機中負數,都是用補碼來表示。

原碼、反碼,都是求補碼時的中間過程變數,是寫在紙上的,並不存入計算機。

可以參考:

請教關於計算機資料的傳輸,原碼反碼補碼

數學中的正負數可以用正 負號表示,但在計算機中任何資訊都只能用10表示,所以在計算機中為了表示正負,把一個數的最高位作為符號位,0表示正數,1表示負數,這樣就可以參加運算 例如,用8位2進製表示十進位制 29和 29分別為 00011101和10011101.對於有符號的定點數有3種表示法 原碼,補...

計算機中的數字編碼問題,原碼,反碼,補碼。。RT

某機器數為1000 0000b,若它代表0,則它是 原碼或移碼 形式,若代表 128,則它是 補 碼形式,若代表 127,則它是 反 碼形式 代表0,是原碼。所謂原碼就是二進位制定點表示法,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。代表 128 是反碼。反碼錶示法規定 正數的反...

計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎

計算機以二進位制補碼儲存資料 以16位機器為例 比如83的二進位制碼為 0000 0000 0101 0011 由於正數的原始碼 反嗎 補碼,上面的既是原始碼,也是反碼和補碼下面通過負數講解原始碼 反碼 補碼之間的關係以 83為例 先求出 83絕對值的原始碼 0000 0000 0101 0011 ...