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 補碼與原碼的轉換過程幾乎是相同的。正數的補碼。與原碼相...