計算機中補碼為什麼等於原碼取反加一?

時間 2023-03-08 10:50:03

1樓:匿名使用者

計算機中補碼定義等於原碼取反加一最大的好處就是運算方便。

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

補碼還有以下特性:

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

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

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

2樓:591093我

我也好奇這個,翻了下書,想了一下是這樣的,就取當真值是純小數的時候來說吧,純整數同理。當x>=0時,x原=x補=x,所以此時補碼跟原碼一樣,不用變動。當-1=<x<0,x原=1-x,x補=2+x=1+1-(-x),第一個1對應的是「加1」,第二個1對應的是符號位取負,x原裡面是-x,x補裡面是--x,即是對應數值位取反這個意思。

手機碼字不易,望謝謝哈。

3樓:尉遲秀梅桐姬

補碼的表示方法是:

正數的補碼就是其本身。

負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1.

(即在反碼的基礎上+1)

-7的原碼=[10000111]原,取反=[11111000]反,=[11111001]補。

因此逆算是先減1,再取反,就是原碼了,注意運算過程中符號位不變。

4樓:

到這裡看**吧,原碼,反碼,補碼都有,我就可以看懂,講的很不錯,希望對你有幫助,這個問題確實不好講清楚:http://v.

計算機組成原理 第3章 原碼、補碼和反碼。

5樓:流雲晨風

呵呵 這個還真不好說。書上就是這麼定義的。而且是負數的補碼,才會等於原碼取反再加一。

計算機組成原理為何補碼比原碼,反碼能多表示一個數,在一個就是符號位的,小弟快被搞暈了!

6樓:沙裡波特

自然界,只有一個零,而原碼和反碼中,卻都有兩個零,顯然是不合理的。

補碼,就沒有這個毛病,這才是正確的表示方法。

所以,計算機中,只是使用補碼,根本就不用原碼反碼。

既然,它們都不存在,還學它們幹嘛呢?

討論來討論去,都是毫無意義的。

7樓:程式猿的自我修養

0的反碼和原碼被表示了兩次,而0的補碼只表示了一次。

+0 原碼00000 反碼00000 補碼00000 -0原碼10000 反碼11111 補碼00000

當為純整數的時候,補碼比原碼能多表示一個最負負的數-2^n (如:10000表示-16)

純小數時,補碼可以多表示一個-1(-1的補碼為而在原碼中-1是不可以被表示出來的。

所以補碼可以比原碼,反碼多表示一個數。。。

符號位,在原碼取反的時候符號位不變。

另外補碼反碼的符號位可以和數值位一起參與運算。

應該就這些了。。

8樓:匿名使用者

反碼,原始碼 0被表示了兩次。

9樓:匿名使用者

去 看看唐朔飛的書吧 裡面講得很詳細 不要急 組成是有些麻煩的。

誰可以告訴我計算機中補碼,反碼和原碼的準確定義?

10樓:昝梅花九棋

原碼是一串二進位制數,是原始資料,最高位為符號位,正數為0,負數為1。

反碼是對原碼各位進行求反得到,不改變符號位。

補碼分兩種情況:

1,對正數來說,補碼即原碼。

2,對負數來說,補碼是原碼的反碼再加上1。

計算機中一般用補碼來表示資料。

11樓:桑凝佛

數在計算機中是以二進位制形式表示的。

數分為有符號數和無符號數。

原碼、反碼、補碼都是有符號定點數的表示方法。

一個有符號定點數的最高位為符號位,0是正,1是副。

以下都以8位整數為例,原碼就是這個數本身的二進位制形式。

例如0000001就是+1

1000001就是-1

正數的反碼和補碼都是和原碼相同。

負數的反碼是將其原碼除符號位之外的各位求反。

[-3]反=[10000011]反=11111100

負數的補碼是將其原碼除符號位之外的各位求反之後在末位再加1。

[-3]補=[10000011]補=11111101

一個數和它的補碼是可逆的。

為什麼要設立補碼呢?

第一是為了能讓計算機執行減法:

[a-b]補=a補+(-b)補。

第二個原因是為了統一正0和負0

正零:00000000

負零:10000000

這兩個數其實都是0,但他們的原碼卻有不同的表示。

但是他們的補碼是一樣的,都是00000000

特別注意,如果+1之後有進位的,要一直往前進位,包括符號位!(這和反碼是不同的!)

[10000000]補。

=[10000000]反+1

=00000000(最高位溢位了,符號位變成了0)

有人會問。10000000這個補碼錶示的哪個數的補碼呢?

其實這是一個規定,這個數表示的是-128

所以n位補碼能表示的範圍是。

-2^(n-1)到2^(n-1)-1

比n位原碼能表示的數多一個。

又例:1011

原碼:01011

反碼:01011//正數時,反碼=原碼。

補碼:01011//正數時,補碼=原碼。

原碼:11011

反碼:10100//負數時,反碼為原碼取反。

補碼:10101//負數時,補碼為原碼取反+1

原碼:反碼:正數時,反碼=原碼。

補碼:正數時,補碼=原碼。

原碼:反碼:負數時,反碼為原碼取反。

補碼:負數時,補碼為原碼取反+1

在計算機內,定點數有3種表示法:原碼、反碼和補碼。

所謂原碼就是前面所介紹的二進位制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。

反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

補碼錶示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

12樓:沙裡波特

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

對於數字 x,其八位補碼的定義式如下

[x]補 = x ; x >=0[x]補 = 2^8 - x | x < 0(其中 2^8 = 256)

即:x 是零和正數:其補碼,就是 x。

x 是負數:其補碼,就是 256 - x。

這就是補碼的準確定義。

按照定義,可以用十進位制來求補碼。

用二進位制也可,但是,就太囉嗦了。

計算機的補碼 原碼問題,計算機原碼反碼補碼怎麼算

1.是這樣規定的,如果硬要理解的話,可以這樣理解 16位的 128是1000000010000000,而8位恰好位於分界點,在8位的範圍內,127到127肯定是很好理解的,而10000000表示 128理解成 0也行,理解成 128也行,採取後者正好跟16位的相容,所以更佳!2.定點補碼錶示純小數,...

計算機中的實型是什麼意思,計算機中DRAM什麼意思?

實型資料又稱浮點數。浮點數是帶小數的十進位制數,可用十進位制數形式或指數形式表示。1 十進位制數形式 十進位制整數 小數點 十進位制小數。2 指數形式 十進位制整數 小數點 十進位制小數 e 或e 正負號 指數。 實型常量又稱實數或浮點數。在c語言中可以用兩種形式表示一個實型常量。一 小數形式 小數...

計算機中A到Z是升序還是將序,計算機中a z又稱什麼鍵

a到z是升序,z到a是降序。a到z是升序 聯想abcd.xyz 這樣就好記啦,逐步遞增噠 excel2007中姓名按a到z排序這樣做 必須是首選把整個 全選上 不包括標題 然後資料 排序 按姓名排序 升序排序 確定,就可以了。選中姓名所在的列 資料 排序 排序依據 數值 次序 選擇升序 預設是按音序...