補碼加補碼得到補碼變為原碼為何要加一

2023-02-14 19:45:05 字數 4799 閱讀 7200

1樓:聽不清啊

補碼加補碼得到補碼。

將補碼變為原碼,只要重複「由原碼求補碼」的運算就行了。所以,仍是「求反碼加1」。

例:5+(-1)

0000 0100 即+4,正數的補碼與原碼相同-5+1:

1111 1100 (和的補碼,視作「原碼」)1000 0011 (求反碼)

1000 0100 (加1,即-4的原碼)

原碼求補碼是取反加一,為什麼補碼求原碼也是取反加一?

2樓:匿名使用者

按原碼變補碼的規則,補碼變原碼應該是「減1取反」,可是對於二進位制,「減1取反」和「取反加1」的效果是一樣的,所以補碼的補碼就是原碼;

原碼(true form)是一種計算機中對數字的二進位制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:

+0和-0),其餘位表示數值的大小。

計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。

3樓:沙里波特

原碼求補碼是取反加一,(對。)

補碼求原碼也是取反加一?(不全對。)

一般理解,應該是「減一取反」。

但是,對於二進位制來說,取反加。

一、減一取反,結果是相同的。為什麼?這是從實踐中,得到的經驗公式。沒有理論證明。

注意:-128 具有八位補碼,但是卻沒有原碼反碼。

所以:用-128的補碼,求-128的原碼,也是取反加一? (不對!!!

4樓:匿名使用者

負數的原碼取反加一就是補碼。

正數的原碼和補碼一樣。

-2 為1 10 補碼為 0100 10取反加一為110

2 為0 10前面是符號位,後面是二進位制值,ok?

5樓:匿名使用者

你也可以用補碼減一,再取反啊,好像結果一樣。

負數,原碼變補碼是取反加一,但補碼變原碼也是取反加一?

6樓:

是啊。我知道你的疑惑,按原碼變補碼的規則,補碼變原碼應該是「減1取反」,可是對於二進位制,「減1取反」和「取反加1」的效果是一樣的……

補碼轉換成原碼

7樓:前堯弓玉

補碼的補碼等於原碼(就是把補碼看作原碼,再來一次獎原碼轉為補碼的運算,就得到了原碼)。

例如:-4的8位。

原碼:1000

反碼:1111

補碼:1111

將現在1111

1100看作原碼,再求一次補碼:

反碼:1000

補碼:1000

0100---結果就是要求的原碼。

8樓:枚愷苑璧

補碼為原碼的反碼加1

9樓:偉岸森林

正數:原碼=反碼=補碼;負數二進位制符號位不變,其餘取反加1 ,如:

補碼:1101001

如果也用這個例子,應該是:

原碼:1010110 + 1 =1010111或者也可以用符號位不變,其餘減1取反。

10樓:匿名使用者

正數:原碼=反碼=補碼;負數二進位製取反加1 ,如:

補碼:1101001

原碼:0010110 + 1 =0010111

11樓:也許

負數 補碼減一求反=原碼。

正數 補碼=原碼。

12樓:網友

二進位制 加一再取反。

補碼運算的結果也是補碼嗎?要得到結果是不是要先轉換為原碼?

13樓:手機使用者

拿"編譯型語言"來說:

1)源**中的"-1"是以字元形式儲存的, 它的值並不是-1;

2)程式要想在cpu上執行,必須要將源**轉換為可執行的二進位制碼;

3)將源**變成可執行的二進位制碼的過程就是"編譯";

4)編譯的時候,源程式中的所有負數會轉換為cpu可運算的表示方法,比如補碼。

計算機裡二進位制補碼為什麼加1?

14樓:東方小廚師

簡單地說,補碼就是反碼加1。

計算機中為什麼要使用補碼呢?

主要原因:1、使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補 碼表示的數相加時,如果最高位(符號位)有進製,則進製被捨棄。

2、補碼與原碼的轉換過程幾乎是相同的。

(1)正數的補碼。

與原碼相同。

【例1】+9的補碼是00001001。(備註:這個+9的補碼說的是用8位的2進製來表示補碼的,補碼表示方式很多,還有16位2進製補碼表示形式,以及32位2進製補碼表示形式等。)

(2)負數的補碼。

符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。

同乙個數字在不同的補碼表示形式裡頭,是不同的。比方說-15的補碼,在8位2進製裡頭是11110001,然而在16位2進製補碼表示的情況下,就成了1111111111110001。在這篇補碼概述裡頭涉及的補碼轉換預設了把乙個數轉換成8位2進製的補碼形式,每一種補碼表示形式都只能表示有限的數字。

【例2】求-7的補碼。

因為給定數是負數,則符號位為「1」。

後七位:+7的原碼(0000111)→按位取反(1111000)→加1(1111001)

所以-7的補碼是11111001。

已知乙個數的補碼,求原碼的操作分兩種情況:

(1)如果補碼的符號位為「0」,表示是乙個正數,其原碼就是補碼。

(2)如果補碼的符號位為「1」,表示是乙個負數,那麼求給定的這個補碼的補碼就是要求的原碼。

另一種方法求負數的補碼如下:

例如:求-15的補碼。

第一步:+15:00001111

第二步:逐位取反(1變成0,0變成1),然後在末尾加1。

再舉乙個例子驗證下:求-64的補碼。

【例3】已知乙個補碼為11111001,則原碼是10000111(-7)。

因為符號位為「1」,表示是乙個負數,所以該位不變,仍為「1」。

其餘七位1111001取反後為0000110;

再加1,所以是10000111。

15樓:夷竹青別書

麼原碼、反碼、補碼的概念,只有絕對值。

對於帶符號數,才會有採用什麼碼型來表示的問題。

補碼如何變成原碼

16樓:炸毛什造

已知乙個數的補碼,求原碼的操作分兩種情況:

(1)如果補碼的符號位為「0」,表示是乙個正數,所以補碼就是該數的原碼。

(2)如果補碼的符號位為「1」,表示是乙個負數,求原碼的操作可以是:符號位為1,其餘各位取反,然後再整個數加1。

例如,已知乙個補碼為11111001,則原碼是10000111(-7):因為符號位為「1」,表示是乙個負數,所以該位不變,仍為 「1」;其餘7位1111001取反後為0000110;再加1,所以是10000111。

17樓:狼道刀

以補碼10010110為例,有兩種計算方法求原碼:

演算法1:補碼=原碼取反再加1的逆運算。

10010110是補碼,應先減去1變為反碼,得10010101;

由反碼取得原始碼即除符號位外其他為按位取反,得11101010,即十進位製數的-106。

演算法2:負數補碼速演算法,由最低位(右)向高位(左)查詢到第乙個1與符號位之間的所有數字按位取反的逆運算。

10010110是補碼,符號位與最後乙個1之間的所有數字按位取反,得11101010

18樓:風若遠去何人留

對於正數和負數,補碼規則不同,所以求原碼方式也有所不同。無符號數與正數的方法相同。

1 對於最高位為0的有符號數,或無符號數,補碼就是原碼本身。如0111 1100 既是補碼,同時也就是原碼。

2 對於最高位為1的有符號數,其表示的是負數。原碼為按位取反,末位加一。如。

補碼:1100 0111

按位取反後結果為:0011 1000

加一後得到: 0011 1001

於是其原碼就是-0011 1001

19樓:匿名使用者

1:如果補碼是正數的話,即符號位(一般是最高位) 為0的話,該補碼即原碼。

2:如果補碼是負數的話,即符號位是1的話,在有兩種方式將其變為原碼。a:

在對該補碼求補,所得的補碼即為原補碼的原碼 b:符號位不變,將補碼-1,再將各位取反,得到的反碼即為原碼。

20樓:沙里波特

正負數,在計算機中,是用補碼儲存的。

計算機中,並沒有原碼反碼。

看到補碼,求出它代表的數字,即可。

變成原碼,則是毫無意義的。

21樓:藍雨

補碼的補碼就是原碼!

帶符號數中只有負數的原碼反碼和補碼是不一樣的,正數的這些都是一樣的,涉及碼制轉換!

原碼求補碼是取反加1

補碼求原碼還是是取反加1(符號位除外)

22樓:匿名使用者

負數用0減去補碼得到原碼,正數不變。

正負數的原碼,補碼,反碼求法,補碼 原碼 反碼怎麼運算的啊 詳細一點

正數的原碼,反碼,補碼都是一樣的。負數的原碼你應該知道的,就是帶符號位的二進位製數。反碼,符號位不變為1,其他每位二進位製數取反,1變0,0變1.補碼就是在反碼的基礎上,符號位不變,最低位加1,得到補碼。這裡有個簡單的求補碼的方法,從原碼的最低位向最高位看去,遇到第乙個1前,保持不變,第乙個1前面的...

原碼 反碼 補碼的介紹,原碼 反碼 補碼的基本概念

在計算機系統中,數值,一律採用補碼表示和儲存。原碼和反碼,都是不存在的。補碼,是乙個 代替負數 的正數。使用了補碼,計算機中就沒有負數了,同時,也就沒有減法運算了。因此,使用補碼,就能簡化運算,從而就簡化了硬體。補碼 正數 怎麼就能代替負數呢?用十進位制來說明,其原理就十分簡單。用 2 位 10 進...

原碼 反碼 補碼 按位取反( )

計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。使用補碼的意義 可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。比如鐘錶,時針轉一圈,週期是 12 小時。倒撥 3 小時,可以用正撥 9 小時代替。9,就稱為 3 的補數。計算方法 12 3 9。對於分針,倒撥 x 分,就可以用正撥 60...