為什麼計算機中所有的數都用補碼錶示?

2023-07-09 00:39:44 字數 7163 閱讀 3808

1樓:做而論道

補碼,其實,它就是一個「代替負數」的正數。

使用了補碼,計算機中,就沒有負數了,也就沒有減法了。

那麼,計算機只需要一個加法器,就可以走遍天下了。

為什麼使用補碼?

就是為了簡化計算機的硬體。

補碼(也就是正數),怎麼就能代表負數呢?

其實,道理也很簡單。

你看2 位 10 進位制數吧:

25 + 99 = 一百) 24

進位是10^2 = 100,這也是 2 位數的計數週期。

這個進位,顯然不在 2 位數之中。

結果,只取 2 位數,+99和-1 的作用,就是相同的。

就是說,只要捨棄了進位,正數,就可以代替負數。

這個正數,就是「負數的補數」。

求補數的公式: 補數 = 負數 + 週期。

-π/2 和 +3π/2,這兩個角度,功能也是相同的。

負角度,和正角度,要怎麼變換呢?

也是用同樣的公式: 正角度 = 負角度 + 週期(2π)。

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

8 位 2 進位制是:0000 0000~1111 1111 (十進位制 255)。

其計數週期是:2^8 = 256。

此時,-1 就可以用 255 (1111 1111) 代替。

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

正數,本身就是正數,必須直接參加運算,不許再作任何變換。

所以,正數,根本就沒有補數(補碼)。

由此,你就可以推出補碼定義式:

當 x >=0, [x ]補 = x; 零和正數不用變換。

當 x < 0, [x ]補 = x + 2^n。 n 是補碼的位數。

以上就是「求補碼的正規做法」。

示例,5 - 7 = 2,用補碼計算如下:

7 的補碼 =

相加---得: (1)= -2 的補碼。

捨棄進位,只取 8 位,結果就是正確的。

這就說明了,藉助於補碼,就可以用加法,實現減法運算。

原碼和反碼,都沒有這種功能。

所以,在計算機中,根本就不使用原碼和反碼。

2樓:做而論道

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

只要會求補碼,就夠用了。

計算機,所計算的位數,是固定的。

八位機就是八位,16 位機就是 16。。。

位數,限定了之後,即使出現了進位,也不再考慮。

在這個前提下,加法、減法,就可以互換。

比如,兩位十進位制是 00~99。

週期是 100(即一百)。

減一,就和 +99,作用相同。

25 + 99 = 一百) 24

捨棄進位,加法,就能起「減法」的作用。

99,就是-1 的補數。

藉助於補數,加減法,就可以統一為加法。

藉助於補碼,就可以簡化計算機的硬體。

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

週期是 2^8 = 256。

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

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

公式:負數的補碼 = 週期 + 該負數。

零和正數,不存在補碼,直接就可以參加計算。

補碼,就是這麼計算出來的。

補碼,和原碼反碼,毫無關係。

計算機中,也並沒有原碼反碼,因此,就不必討論它們。

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

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樓:翟惜海農婀

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

補碼的特性:

1、一個負整數(或原碼)與其補數(或補碼)相加,和為模。

2、對一個整數的補碼再求補碼,等於該整數自身。

3、補碼的正零與負零表示方法相同。

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

9樓:做而論道

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

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

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

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

這就是補碼的作用。

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

想一想週期性的規律吧。

比如,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 (二進位制)。

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

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

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

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

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

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

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

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

10樓:做而論道

為什麼用補碼錶示負數?

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

目的:簡化計算機的硬體。在兩位數之內,+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 是二進位制的位數。)

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

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

11樓:煙雅美奇原

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

12樓:信曼寒蕢飲

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

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

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

這樣的運算有兩個好處:

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

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

計算機為什麼使用補碼來儲存資料

13樓:網友

簡單來說,方便將減法運算化為加法運算,這樣可以簡化電路設計(cpu中只需要加法器而不需要剪髮器)

例如 100 - 50 變化為 (+100) +50)。

計算機一般都用什麼進位制,計算機中的進位制學了以後有啥用

計算機一般用 二進位制。二進位制是計算技術中廣泛採用的一種數制。二進位制資料回是用0和1兩個數碼來答表示的數。它的基數為2,進位規則是 逢二進一 借位規則是 借一當二 由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中...

計算機中為什麼將反碼加一就得到了補碼?

正數 正數的反碼與原碼相同。負數 負數的反碼,符號位為 1 數值部分按位取反。例如 符號位 數值位。7 反 0 0000111 b 7 反 1 1111000 b 所以樓主再仔細看一下書,究竟00011010是 26的反碼,還是負數的反碼。特別規定 128的補碼為10000000,所以有符號位元組的...

為什麼在檢視工作組計算機中不能訪問別人的計算機

基本上那個部落格上的方法就是所有的方法了。請確保你完全嘗試了那個部落格所有方法。我再加兩條,你在張航的機器上試試 1 開始 執行 gpedit.msc 計算機配置 windows設定 安全設定 本地策略 安全選項 右邊找到 網路訪問 本地帳戶的共享和安全模型 雙擊,選擇 經典 對本地使用者進行身份驗...