計算機中為什麼用補碼來表示有符號數

2023-07-09 00:35:02 字數 7593 閱讀 4562

1樓:link專注休閒娛樂

可以通過補碼運算,通過最高位和次高位的進製相異或可以判斷計算結果是否溢位。

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

在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。

正整數的補碼是其二進位制表示,與原碼相同。

例:+9的補碼是00001001。(備註:

這個+9的補碼是用8位2進製來表示的,補碼表示方式很多,還有16位二進位制補碼表示形式,以及32位二進位制補碼表示形式,64位進製補碼表示形式等。每一種補碼表示形式都只能表示有限的數字。)

負數解釋:求負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)後加1。

同乙個數字在不同的補碼表示形式中是不同的。比如-15的補碼,在8位二進位制中是11110001,然而在16位二進位制補碼表示中,就是1111111111110001。以下都使用8位2進製來表示。

2樓:做而論道

補碼,實際上,就是乙個「代替負數」的正數。

使用了補碼之後,計算機中,就沒有負數了。

同時,也就沒有減法運算了。

計算機,只要配置乙個加法器,就能橫行天下了。

這就是補碼的作用。

補碼(乙個正數),怎麼就能代替負數呢?

想一想週期性的規律吧。

比如,2 位 10 進製數計數週期就是 10^2=100。

可有: 25 - 1 = 24

25 + 99 = 一百) 24

你捨棄進製的 1 百,只保留 2 位數,+99 就能代替-1!

而且,加法,也能代替減法運算!

同樣,+98 也可以代替-2。

這些正數,就稱為「負數的補數」。

求補數的公式,顯然就是:

補數=負數+10^n

式中:n 是補數的位數。

10^n,是 n 位 10 進製數的週期。

這公式,在三角函式中,也有雷同的表現。

三角函式,是以 2π 為週期的。

任何負角度,加上週期,就可以轉換為正角度。

如:x =-2,與其等效的正角度,即為:

x =-2 + 2π =3π/2

計算機用二進位制,補數,就稱為:補碼。

求負數的補碼,公式是:

補碼 = 負數 + 2^n

2^n,是 n 位 2 進製數的計數週期。

對於 8 位 2 進製數,週期就是

那麼,-1 的補碼就是 255 = 1111 1111 (二進位制)。

2 的補碼就是 254 = 1111 1110 (二進位制)。

128 的補碼就是 128 = 1000 0000 (二進位制)。

正數,不用轉換,也不許做任何轉換,必須直接去參加算。

所以,零和正數,並沒有補碼。

求補碼,不需要「符號位原碼反碼取反加一符號位不變」。

那一大堆步驟,並沒有什麼數學理論依據。

數學不好的老外,弄不懂週期,才用那些騷操作。

而且,原碼反碼,在計算機中,根本就不用!

忽悠大家學了一大堆,一丁點用處,也都沒有的。

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

3樓:做而論道

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

如: 24 - 1 = 23

24 + 99 = 一百) 23

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

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

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

4樓:可軒

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

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

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

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

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

計算機為什麼採用補碼計算

5樓:沙里波特

正負數,在計算機中存放的格式,就是補碼。

計算機中,並沒有原碼和反碼,也就不必關心它們了。

下面,針對補碼,給出解釋。

比如,有乙個小孩,很小的。

他只認識 100 個數(0~99),也不會做減法。

那麼,就可以告訴他:「減一」,就用「加 99」算吧。

忽略進製的 100,結果不是一樣的嗎?

那麼,就是說:

99,就是-1 的補數。

98,就是-2 的補數。

利用「補數」,就可把「減法」轉為「加法」。

利用這個特點,計算機中,僅需乙個「加法器」,就夠用了。

在計算機中,是以二進位制存放各種資訊的,統稱為:**。

八位,作為乙個計算單位。

範圍是:0000 0000 ~ 1111 1111。

寫成十進位制,就是:0~255。

共有 256 個**。--這個數字,稱為:模。

那麼:1111 1111(255),就是-1 的補碼。

1111 1110(254),就是-2 的補碼。

1000 0000(128),就是-128 的補碼。

求負數的補碼,就是這麼簡單。

而零和正數,直接參加運算即可,用不著求補碼。

因此,下面就是補碼的定義式。

零和正數的補碼: 就是該數字本身。

負數的補碼: 就用「模」,加上該負數。

模,就是**的總個數。

原碼和反碼,則毫無意義。

所以,在計算機中,並沒有它們的存在。

6樓:做而論道

在計算機中,負數,以其正值的補碼形式表示。

就是說,負數,是用乙個正數(即補碼)來表示的。

使用了補碼,計算機中,就沒有負數了。並且,也就消除了減法運算。

那麼,計算機,只需配置乙個加法器,便可橫行天下。

7樓:郜訪彤儀燁

使用補碼的好處:

可加法代替減法運算,[a-b]補。

a]補+[-b]補。

簡體了計算機運算硬體電路,提高運算效率:

統一了正0和負0

原碼及反碼的正0、負0有不同的表示,補碼的0是唯一的,例如字長8位,補碼的0表示為唯一的00000000

為什麼計算機中帶符號數採用補碼表示

8樓:做而論道

為什麼用補碼表示負數?

原理:用加法運算,也可以產生減法的效果。

目的:簡化計算機的硬體。在兩位數之內,+99,就可以代替-1。

如: 24 - 1 = 23

只取兩位,這兩種演算法,功能就是相同的。

加上 99,就相當於,減一!物極必反,聽說過吧?

99,就是-1 的補數。鐘錶的分針,正撥 59,也相當於倒撥 1 分鐘!

計算機用二進位制,補數,就改稱為:補碼。

八位二進位制:0000 0000~1111 1111(十進位制255)。

255(=1111 1111),就是-1 的補碼。

254(=1111 1110),就是-2 的補碼。

負數的補碼 = 2^n + 該負數。(n 是二進位制的位數。)

借助於補碼,在計算機中,只需配置乙個加法器,即可。

正數,沒有補碼,直接參加計算即可。

9樓:煙雅美奇原

爭議因為計算機中用補碼表示帶符號數時,減法運算可以變成加負數,而負數用補碼表示後,可以直接按二進位製數進行加法運算。這樣適應計算機硬體加法器進行運算。

10樓:信曼寒蕢飲

採用補碼運算具有如下兩個特徵:

1)因為使用補碼可以將符號位和其他位統一處理,同時,減法也可以按加法來處理,即如果是補碼表示的數,不管是加減法都直接用加法運算即可實現。

2)兩個用補碼表示的數相加時,如果最高位(符號位)有進製,則進製被捨棄。

這樣的運算有兩個好處:

1)使符號位能與有效值部分一起參加運算,從而簡化運算規則。從而可以簡化運算器的結構,提高運算速度;(減法運算可以用加法運算表示出來。)

2)加法運算比減法運算更易於實現。使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計。

計算機的補碼運算在計算機中,補碼的作用是什麼?

11樓:做而論道

補碼,實際上,就是乙個「代替負數」的正數。

使用了補碼之後,計算機中,就沒有負數了。

同時,也就沒有減法運算了。

計算機,只要配置乙個加法器,就能橫行天下了。

這就是補碼的作用。

補碼(乙個正數),怎麼就能代替負數呢?

想一想週期性的規律吧。

比如, 2 位 10 進製數(0~99),計數週期就是 10^2=100。

可有: 25 - 1 = 24

25 + 99 = 一百) 24

你捨棄進製的 1 百,只保留 2 位數,+99 就能代替-1!

而且,加法,也能代替減法運算!

同樣,+98 也可以代替-2。

這些正數,就稱為「負數的補數」。

求補數的公式,顯然就是:

補數=負數+10^n

式中:n 是補數的位數。

10^n,是 n 位 10 進製數的週期。

這公式,在三角函式中,也有雷同的表現。

三角函式,是以 2π 為週期的。

任何負角度,加上週期,就可以轉換為正角度

如:x =-2,與其等效的正角度,即為:

x =-2 + 2π =3π/2

計算機用二進位制,補數,就稱為:補碼。

求負數的補碼,公式是:

補碼 = 負數 + 2^n

2^n,就是 n 位二進位製數的計數週期。

對於8 位 2 進製數,週期就是

那麼,-1 的補碼就是 255 = 1111 1111 (二進位制)。

2 的補碼就是 254 = 1111 1110 (二進位制)。

128 的補碼就是 128 = 1000 0000 (二進位制)。

正數,不用轉換,也不許做任何轉換,必須直接去參加算

所以,正數,並沒有補碼。

求補碼,不需要「符號位原碼反碼取反加一符號位不變」。

那些個步驟,都沒有什麼數學理論依據。

數學不好老外,沒有正確的思路,才用那些騷操作。

微型計算機中的數為什麼常用補碼表示

12樓:做而論道

借助於補碼,可以把負數轉換成正數,這就可以用加法,代替減法運算。

因此,就可以簡化計算機的硬體。

計算機中,所運算的位數,是固定的,如八位機、16 位機。。。

位數限定之後,加減法,就可以互換。

如兩位在十進位制時,-1 就可以用 +99 代替。

只取兩位,這兩種演算法,結果相同。

同樣道理,時鐘倒撥 3 小時,可用正撥 9 小時代替。

分針倒撥 x 分,可用正撥 (60-x) 代替。

負數所對應的正數,稱為:補數。

求補數,就要用到計數系統的【週期】。

上面用的週期,分別是:一百。

知道了週期,負數的補數,小學生都會求。

計算機用二進位制,補數,就稱為:補碼。

八位二進位制是:0000 0000~1111 1111(十進位制 255)。

共有 256 組**。

所以,八位二進位製數的計數週期,就是:256 = 2^8。

在 256 個補碼中,有 128 個負數:-1 ~ 128。

1 的補碼就是:256-1 = 255(二進位制 1111 1111)。

2 的補碼就是:256-2 = 254(二進位制 1111 1110)。

求補碼,千萬別用「原碼反碼取反加一」,這些都是誤導。

學原碼反碼符號位這些垃圾,你就弄不懂補碼的意義。

也就不知道,為什麼計算機要使用補碼,而不用原碼和反碼。

補碼,是小學生都能弄懂的知識,計算機專家卻偏偏說不明白。

微型計算機中的數為什麼常用補碼表示

借助於補碼,可以把負數轉換成正數,這就可以用加法,代替減法運算。因此,就可以簡化計算機的硬體。計算機中,所運算的位數,是固定的,如八位機 16 位機。位數限定之後,加減法,就可以互換。如兩位在十進位制時,1 就可以用 99 代替。只取兩位,這兩種演算法,結果相同。同樣道理,時鐘倒撥 3 小時,可用正...

計算機中的補碼是什麼意思,能給最好給幾個例子

補碼 two s complement 1 在計算機系統中,數值一律用補碼來表示 儲存 主要原因 使用補碼,可以將符號位和其它位統一處理 同時,減法也可按加法來處理。另外,兩個用補 碼表示的數相加時,如果最高位 符號位 有進製,則進製被捨棄。2 補碼與原碼的轉換過程幾乎是相同的。正數的補碼。與原碼相...

計算機中的補碼是什麼意思,能給最好給幾個例子

補碼 two s complement 1 在計算機系統中,數值一律用補碼來表示 儲存 主要原因 使用補碼,可以將符號位和其它位統一處理 同時,減法也可按加法來處理。另外,兩個用補 碼表示的數相加時,如果最高位 符號位 有進製,則進製被捨棄。2 補碼與原碼的轉換過程幾乎是相同的。正數的補碼。與原碼相...