導航:首頁 > 電腦知識 > 電腦補碼在哪裡

電腦補碼在哪裡

發布時間:2022-05-30 05:10:33

㈠ 什麼叫做補碼

補碼,應該是最容易理解的知識了。

小學生都可以自己摸索出來。

按照四位二進制來說,共有 16 組代碼。

數字 0 的二進制,就是 0000,

數字 1 的二進制,就是 0001,

。。。

數字 7 的二進制,就是 0111。

可見下表:

四位補碼

總結:

零和正數的補碼,就是數字本身(也可轉為二進制)。

負數的補碼,就是: 16+這個負數。

(如果是 8 位二進制,就改用: 256 + 這個負數。)

--------

整個推算過程,並不需要使用「原碼反碼符號位」這些垃圾。

計算時,使用十進制,簡單方便。得出的補碼,當然也是十進制。

如果需要二進制,就變換一下。

補碼,很難嗎?

如果不涉及原碼反碼符號位,就一點也不難。

-----------

補碼有什麼用呢?

利用補碼,可以把減法運算,轉換成加法。

(所以,在計算機中,有一個加法器,就夠用了。)

例如:6-2 = 4,用補碼運算如下:

6 的補碼是 0110、-2 的補碼是 1110。

0110 + 1110 = (1) 0100 (= 4 的補碼)

(括弧中的 1,是進位,舍棄不要了。)

注意:

如果運算結果超出了-8~+7 的范圍,結果將是錯的。

這種現象稱為「溢出」。

再注意一下:進位,並不等於溢出。

---------

因為補碼的這個特性,所以,在計算機中,只是使用補碼存放數據。

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

原碼反碼 的用途,只是用於「筆算」。

其實,筆算的方法,並非只有「取反加一」。

原碼反碼,只是磚家為了增加收入,瞎編的垃圾而已。

所以,大家,完全不必在原碼反碼上浪費時間精力。

但是,考試怎麼辦?

呃 ...,千萬別跟老師較勁,他怎麼講,你就怎麼答吧。

㈡ 電腦使用如何添加補碼

首先我們假設用兩個位元組來表示一個整數(實際上一般不是哈),那麼十進制的0,在計算機中的二進制形式就為:0000 0000 0000 0000,再來看十進制的1,很顯然是:0000 0000 0000 0001,這個二進制就是十進制的1在計算機中的表示形式,也就是說,這就是1的補碼(或者說原碼),因為1是正數,如果是-1,那麼就不是這樣的了,要首先把-1的絕對值求出來,等於1,然後求1的原碼(也就是它的二進制):0000 0000 0000 0001,然後按位取反(每個位上的0變成1,1變成0):1111 1111 1111 1110;最後加1:1111 1111 1111 1111,好了,這就是-1的補碼了,計算機中就是這樣的,這樣說夠詳細了不?

㈢ 誰能告訴我計算機的原碼補碼和反碼的具體定義是什麼

帶符號數,有三種表示方法,即:原碼、反碼和補碼。

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

所以,在計算機系統中,原碼和反碼,都是不存在的。

不存在的東西,也就不必關心了。

------------------

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

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

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

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

36 - 1 = 35

36 + 99 = (1) 35

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

那麼,就是說:

99,就是-1 的補數。

利用「補數」,就可用「加法」代替「減法」。

這就可以簡化計算機的硬體。

計算方法:

-1 的補數 = 100 - 1

其中的 100,是兩位十進制數的:周期。

---------------------

在計算機中,是以二進制存放各種信息的,統稱為:代碼。

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

范圍是:0000 0000 ~ 1111 1111。

寫成十進制,就是:0~255。計數周期就是:256。


那麼:

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

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

。。。

1000 0000 = 128,就是-128 的補碼。

計算公式: 補碼 = 周期 + 負數。(再變為二進制。)

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

正數,直接參加運算即可,不許做任何變換。

因此,補碼的定義,如下:

正數的補碼: 正數,沒有補碼,直接運算。

負數的補碼: 周期 + 該負數。

---------------------

原碼和反碼,在計算機中,並不存在。

原碼和反碼,只能寫在紙上,或停留在口中。

無論它們是怎樣定義的,都是毫無意義的事。

㈣ 計算機中什麼叫補碼啊``` 怎麼算的

補碼,在計算機中,有所應用。

但是,補碼的來源,是由演算法導出的,和計算機無關。

比如,一個小孩,很小的。

他只認識 100 個數,也不會做減法。

那麼,減一,就可以告訴他,用加99 代替:

36 - 1 = 35

36 + 99 = (1) 35

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

99,就是-1 的補數。

演算法:補數=模+負數。

其中的「模」,是計數系統中,數字個數的總數。

補碼,也就是二進制的補數。

八位二進制,共有 256 個數字,模,就是 256。

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

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

... ...

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

演算法:

補碼=256 +負數。

正數,直接參加運算即可,用不著轉換。

㈤ 計算機如何區別原碼與補碼

使用補碼的意義在於:可把負數變正數,可把減法變加法。

從這個實用性來講,計算機中,只是用補碼。原碼根本就不存在。

-------

計算機,是執行程序的。程序,都是由人,編寫的。

所以,不是計算機來區別原碼、補碼。

而是由人,來區別。

-------

如果限定,只是使用兩位十進制數 0~99,共有一百個。

那麼,減一,就可以用 +99 代替:

24 - 1 = 23

24 + 99 = (1) 23

只保留兩位,忽略進位,結果就是相同的。

99,就稱為-1 的補數。

-------

看到了嗎?出現了進位。

如果你忽略了進位,實際上就是減法運算!

--這時,99 就是補數,是當做-1 來用的。

如果不忽略進位,結果就是 1 百 23,這還是加法運算。

--此時,99,就是正常的數字。

。。。。。。

一個代碼,到底是原來的數字,還是代表負數?

就看你怎麼對待它了。

這些都是由編程人,來決定。

計算機,它才不管這些。

㈥ 在電腦中的原碼,反碼,補碼都是什麼意思啊

有符號數,有三種表示方法,即原碼、反碼和補碼。

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

在計算機系統中,原碼和反碼,都是不存在的。

==================

數值 0,在八位機中,就是 0000 0000。

+1,就是加上一,即為:0000 0001。

+2,就再加一,即為:0000 0010。

其他正數,依次遞增即可。。。

最後的是+127,即為:0111 1111。

----------

負數,就是從 0 往下減。

那麼,-1 就是 0000 0000-1,取八位的結果,

就是:1111 1111 = 255(十進制)。

同理,-2 就是 1111 1110 = 254。

其他負數,依次遞減即可。。。

最後的是-128,即為:1000 0000 = 128。

以上,就是數值,存在計算機中的補碼。

求負數的補碼,計算公式是:【 256 + 這個負數 】。

如果需要二進制,就自己變換吧。

==================

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

這就可以:簡化計算機的硬體。

如:59-31 = 28。

在計算機中,用補碼的加法運算如下:

59 的補碼=0011 1011

-31 的補碼=1110 0001

-相加-------------

得:(1) 0001 1100= 28 的補碼

保留八位,結果完全正確。

這就實現了減法運算。

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

所以,計算機中,根本就沒有原碼和反碼。

㈦ 計算機原碼反碼補碼怎麼算

計算機原碼反碼補碼計算方法:

1、原碼

原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進制:

[+1]原 = 0000 0001

[-1]原 = 1000 0001

第一位是符號位. 因為第一位是符號位, 所以8位二進制數的取值范圍就是:[1111 1111 , 0111 1111]

即[-127 , 127]

原碼是人腦最容易理解和計算的表示方式。

2、反碼

反碼的表示方法是:正數的反碼是其本身。負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反。

[+1] = [00000001]原 = [00000001]反

[-1] = [10000001]原 = [11111110]反

可見如果一個反碼表示的是負數,人腦無法直觀地看出來它的數值。通常要將其轉換成原碼再計算。

3、補碼

補碼的表示方法是:正數的補碼就是其本身。負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1。(即在反碼的基礎上+1)。

[+1] = [00000001]原 = [00000001]反 = [00000001]補

[-1] = [10000001]原 = [11111110]反 = [11111111]補

對於負數,補碼表示方式也是人腦無法直觀看出其數值的。通常也需要轉換成原碼在計算其數值。

(7)電腦補碼在哪裡擴展閱讀:

原碼,反碼和補碼是完全不同的。既然原碼才是被人腦直接識別並用於計算表示方式,為何還會有反碼和補碼呢?

首先,因為人腦可以知道第一位是符號位,在計算的時候我們會根據符號位,選擇對真值區域的加減。但是對於計算機,加減乘數已經是最基礎的運算,要設計的盡量簡單。計算機辨別"符號位"顯然會讓計算機的基礎電路設計變得十分復雜。於是人們想出了將符號位也參與運算的方法。我們知道,根據運演算法則減去一個正數等於加上一個負數,即: 1-1 = 1 + (-1) = 0 , 所以機器可以只有加法而沒有減法,這樣計算機運算的設計就更簡單了。

於是人們開始探索將符號位參與運算,並且只保留加法的方法。

㈧ 補碼存在於計算機的哪裡

補碼 1、在計算機系統中,數值一律用補碼來表示(存儲)。
主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補
碼表示的數相加時,如果最高位(符號位)有進位,則進位被舍棄。
2、補碼與原碼的轉換過程幾乎是相同的。
數值的補碼表示也分兩種情況:
(1)正數的補碼:與原碼相同。
例如,+9的補碼是00001001。
(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。
例如,-7的補碼:因為是負數,則符號位為「1」,整個為10000111;其餘7位為-7的絕對值+7的原碼
0000111按位取反為1111000;再加1,所以-7的補碼是11111001。
已知一個數的補碼,求原碼的操作分兩種情況:
(1)如果補碼的符號位為「0」,表示是一個正數,所以補碼就是該數的原碼。
(2)如果補碼的符號位為「1」,表示是一個負數,求原碼的操作可以是:符號位為1,其餘各位取
反,然後再整個數加1。
例如,已知一個補碼為11111001,則原碼是10000111(-7):因為符號位為「1」,表示是一個負
數,所以該位不變,仍為「1」;其餘7位1111001取反後為0000110;再加1,所以是10000111。
在「閑扯原碼、反碼、補碼」文件中,沒有提到一個很重要的概念「模」。我在這里稍微介紹一下「模」
的概念:
「模」是指一個計量系統的計數范圍。如時鍾等。計算機也可以看成一個計量機器,它也有一個計量范
圍,即都存在一個「模」。例如:
時鍾的計量范圍是0~11,模=12。
表示n位的計算機計量范圍是0~2(n)-1,模=2(n)。【註:n表示指數】
「模」實質上是計量器產生「溢出」的量,它的值在計量器上表示不出來,計量器上只能表示出模的
余數。任何有模的計量器,均可化減法為加法運算。
例如: 假設當前時針指向10點,而准確時間是6點,調整時間可有以下兩種撥法:
一種是倒撥4小時,即:10-4=6
另一種是順撥8小時:10+8=12+6=6
在以12模的系統中,加8和減4效果是一樣的,因此凡是減4運算,都可以用加8來代替。
對「模」而言,8和4互為補數。實際上以12模的系統中,11和1,10和2,9和3,7和5,6和6都有這個特
性。共同的特點是兩者相加等於模。
對於計算機,其概念和方法完全一樣。n位計算機,設n=8, 所能表示的最大數是11111111,若再
加1稱為100000000(9位),但因只有8位,最高位1自然丟失。又回了00000000,所以8位二進制系統的
模為2(8)。 在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以
了。把補數用到計算機對數的處理上,就是補碼。
另外兩個概念
一的補碼(one's complement) 指的是正數=原碼,負數=反碼
而二的補碼(two's complement) 指的就是通常所指的補碼。
這里補充補碼的代數加減運算:
1、補碼加法
[X+Y]補 = [X]補 + [Y]補
【例7】X=+0110011,Y=-0101001,求[X+Y]補
[X]補=00110011 [Y]補=11010111
[X+Y]補 = [X]補 + [Y]補 = 00110011+11010111=00001010
註:因為計算機中運算器的位長是固定的,上述運算中產生的最高位進位將丟掉,所以結果不是
100001010,而是00001010。
2、補碼減法
[X-Y]補 = [X]補 - [Y]補 = [X]補 + [-Y]補
其中[-Y]補稱為負補,求負補的方法是:對補碼的每一位(包括符號位)求反,最後末位加「1」。
這里補充補碼的代數解釋:
任何一個數都可以表示為-a=2^(n-1)-2^(n-1)-a;
這個假設a為正數,那麼-a就是負數。而根據二進制轉十進制數的方法,我們可以把a表示為:a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2)
這里k0,k1,k2,k(n-2)是1或者0,而且這里設a的二進制位數為n位,即其模為2^(n-1),而2^(n-1)其二項展開是:1+2^0+2^1+2^2+……+2^(n-2),而式子:-a=2^(n-1)-2^(n-1)-a中,2^(n-1)-a代入a=k0*2^0+k1*2^1+k2*2^2+……+k(n-2)*2^(n-2)和2^(n-1)=1+2^0+2^1+2^2+……+2^(n-2)兩式,2^(n-1)-a=(1-k(n-2))*2^(n-2)+(1-k(n-3))*2^(n-3)+……+(1-k2)*2^2+(1-k1)*2^1+(1-k0)*2^0+1,而這步轉化正是取反再加1的規則的代數原理所在。因為這里k0,k1,k2,k3……不是0就是1,所以1-k0,1-k1,1-k2的運算就是二進制下的取反,而為什麼要加1,追溯起來就是2^(n-1)的二項展開式最後還有一項1的緣故。而-a=2^(n-1)-2^(n-1)-a中,還有-2^(n-1)這項未解釋,這項就是補碼里首位的1,首位1在轉化為十進制時要乘上2^(n-1),這正是n位二進制的模。
不能貼公式,所以看起來很麻煩,如果寫成代數式子看起來是很方便的。
註:n位二進制,最高位為符號位,因此表示的數值范圍-2^(n-1) ——2^(n-1) -1,所以模為2^(n-1)。上面提到的8位二進制模為2^8是因為最高位非符號位,表示的數值范圍為0——2^8-1。

㈨ 計算機中的反碼和補碼

哪有什麼原碼、反碼!

在計算機中,只使用補碼來存放正負數。

計算機中,以八個二進制位,作為一個位元組。

數字 0,其補碼就是 0000 0000。

正數,依次遞增,即可。

負數,就是依次遞減。

數字 +1,其補碼就是 0000 0001。

數字 +2,其補碼就是 0000 0010。

。。。

數字-1,就是 0000 0000-1 = 1111 1111。

數字-2,就是 1111 1111-1 = 1111 1110。

。。。

----

歸納:

正數的補碼,就是:數字本身。

負數的補碼,就是:0 + 該負數。

----

比如:

+ 9 的補碼是:0000 1001。

-9 的補碼就是:0000 0000-0000 1001=1111 0111。

求補碼的計算過程,並不需要原碼反碼。

----

有了補碼,就可以用加法,代替減法運算了。

比如:

(+2)-(+1) = +1。

計算機計算如下:

0000 0010 + 1111 1111= 0000 0001。

㈩ 電腦中原碼和補碼是什麼關系

電腦中,只有補碼。並沒有原碼和反碼。
正數的原碼、反碼和補碼,都是相同的。
如果絕對值相同,則有,正數的補碼+負數的補碼=0。
那麼,負數的補碼=0-正數的補碼。

閱讀全文

與電腦補碼在哪裡相關的資料

熱點內容
網路共享中心沒有網卡 瀏覽:547
電腦無法檢測到網路代理 瀏覽:1404
筆記本電腦一天會用多少流量 瀏覽:701
蘋果電腦整機轉移新機 瀏覽:1400
突然無法連接工作網路 瀏覽:1159
聯通網路怎麼設置才好 瀏覽:1257
小區網路電腦怎麼連接路由器 瀏覽:1141
p1108列印機網路共享 瀏覽:1236
怎麼調節台式電腦護眼 瀏覽:793
深圳天虹蘋果電腦 瀏覽:1027
網路總是異常斷開 瀏覽:639
中級配置台式電腦 瀏覽:1094
中國網路安全的戰士 瀏覽:656
同志網站在哪裡 瀏覽:1451
版觀看完整完結免費手機在線 瀏覽:1482
怎樣切換默認數據網路設置 瀏覽:1141
肯德基無線網無法訪問網路 瀏覽:1332
光纖貓怎麼連接不上網路 瀏覽:1573
神武3手游網路連接 瀏覽:992
局網列印機網路共享 瀏覽:1021