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

時間 2023-05-09 03:51:02

1樓:匿名使用者

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

2.定點補碼錶示純小數,第一位的1表示負數,0000000表示數值,補碼的補碼是原始碼,所以0000000的補碼是取反加一,等於1,所以等於-1.

2樓:匿名使用者

正數的補碼原碼反碼一樣。負數的求反碼原則:最高位為符號位,求反時符號位不變,其它各位按位取反。

負數的補碼是其反碼+1。對於第一問,你說的是補碼10000000吧。10000000這個補碼錶示的哪個數的補碼呢?

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

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

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

比n位原碼能表示的數多一個。 純小數的補碼錶示:

x補〕=x 1>x≥0

x補〕=2+x 0>x≥1

在純小數補碼錶示中,〔-1〕補=2+(-1)=

在純小數的原碼錶示中,「〔1〕原」是不能表示的,而在補碼錶示中,純小數的補碼最小可以表示到-1,這時在「〔-1〕補」中,符號位的1既表示符號「-」也可以表示數值1。

1的補碼運算:先求-1的反碼,11111110,求補碼:11111110+1=11111111

3樓:做而論道

1:採用 8 位字長,原碼 10000000 為什麼等於-128 而不是等於 0

---等於-128? 不可能的。

---原碼 10000000,這是-0,根本就不是-128。

---而且,在八位字長條件下,-128 並沒有原碼。

2:在定點補碼錶示純小數,採用 8 位字長,編碼 10000000 表示的十進位制是-1,這個-1是怎麼算出來的?

---你得從「八位定點整數的補碼」入手。

補碼 1000 0000,表示十進位制-128。

小數點左移一位,就是除以 2,這就表示-64 了。

小數點左移七位,除以 128,這不就表示-1 了嗎?

此時,這個補碼,就是「定點補碼錶示純小數」。

-1,就是這麼來的。

4樓:沙裡波特

計算機的補碼 原碼問題。

1:採用8位字長,原碼10000000為什麼等於-128而不是等於02:在定點補碼錶示純小數,採用8位字長,編碼10000000表示的十進位制是-1,這個-1是怎麼算出來的???

整數補碼、小數補碼,各自有個定義式。

你的疑惑,你用定義式,一算便知。

你不要用「取反加一」來求補碼,因為原碼反碼,都是不存在的。

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

5樓:象拔蚌燒賣

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

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]補。

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

6樓:沙裡波特

計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。

使用補碼的意義:可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。

比如鐘錶,時針轉一圈,週期是 12 小時。

倒撥 3 小時,可以用正撥 9 小時代替。

9,就稱為-3 的補數。

計算方法:12-3 = 9。

對於分針,倒撥 x 分,就可以用正撥 60-x 代替。

如果,限定了兩位十進位制數 (0~99),週期就是 100。

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

忽略進位,只取兩位數,這兩種演算法,結果就是相同的。

於是,99 就是 -1 的補數。

其它負數的補數,大家可以自己求!

求出了負數的補數,就可用加法,代替減法了。

計算機中使用二進位制,補數,就改稱為【補碼】。

常用的八位二進位制是:0000 0000~1111 1111。

它們代表了十進位制:0~255,週期就是 256。

那麼,-1,就可以用 255 = 1111 1111 代替。

所以:-1 的補碼,就是 1111 1111 = 255。

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

繼續:-3 的補碼,就是 1111 1101 = 253。

最後:-128,補碼是 1000 0000 = 128。

計算公式:負數的補碼=256+這個負數。

正數,直接運算即可,不需要求補碼。

也可以說,正數本身就是補碼。

補碼的應用如: 7-3 = 4。

用補碼的計算過程如下:

7 的補碼=

3的補碼=

相加

得: (1)= 4 的補碼。

捨棄進位,只保留八位,作為結果即可。

這就是:使用補碼,加法就代替了減法。

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

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

原碼和反碼,毫無用處。計算機中,根本就沒有它們。

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

7樓:匿名使用者

計算機沒辦法區分任何檔案形式的存在,本質上就是超多的高低電路在做布林運算

不管是原碼,反碼,補碼都是以二進位制的形式轉換而來,為什麼用二進位制,就是為了契合計算機的高低電路,所有的計算數都是以補碼轉成高低電路的,在做電路計算。

開發人員(10進位制)--編譯器(2進位制)--作業系統(補碼)--計算機硬體(高低電路)

這麼描述比較通俗,但不嚴謹,真的感興趣可以從作業系統和資料結構入手。

8樓:網友

原碼就是早期用來表示數字的一種方式: 一個正數,轉換為二進位制位就是這個正數的原碼。負數的絕對值轉換成二進位制位然後在高位補1就是這個負數的原碼。

正數的補碼與原碼相同,負數的補碼為 其原碼除符號位外所有位取反(得到反碼了),然後最低位加1.正數的反碼和補碼都與原碼相同。

負數的反碼為對該數的原碼除符號位外各位取反。

負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1

9樓:沙裡波特

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

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

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

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

而是由人,來區別。

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

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

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

99,就稱為-1 的補數。

看到了嗎? 出現了進位。

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

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

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

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

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

就看你怎麼對待它了。

這些都是由程式設計人,來決定。

計算機,它才不管這些。

10樓:匿名使用者

正負整數都用補碼進行儲存,0開頭就是正整數 補碼=原數的二進位制,1開頭就是負整數,再補碼一次就是原碼的二進位制。

11樓:匿名使用者

個人的理解重心主要要搞清為什麼有原碼/反碼/補碼。

為什麼會出現這三種編碼制式?

你肯定是這個沒搞清,這個搞清楚了,不存在什麼區不區分的問題。

計算機原碼反碼補碼怎樣計算

12樓:做而論道

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

數字,在計算機中,一律用補碼錶示。數字與補碼的關係,可見下表:

換算公式,很簡單的,一看便知。

原碼反碼取反加一,實際上,都沒有什麼用處。

老外數學不好,才不得不用這麼麻煩的做法。

計算機原碼補碼的計算

13樓:象拔蚌燒賣

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

1、原碼:在計算機中的機器字長的最高位(最左邊)表示正負,0為正數,1為負數,原碼就是最高位是符號位,其餘位表示數值(絕對值)大小。

2、反碼:正數的反碼就是其本身(原碼)不變,而負數的反碼就是在負數原碼的基礎上符號位保持不變,其餘位按位取反。

3、補碼:正數的補碼就是其本身(原碼),而負數的補碼就是在原碼的基礎上符號位保持不變其餘位按位取反,然後再+1,即在反碼的基礎上+1。

總結:正數的原碼、反碼和補碼都一樣,都等於原碼。負數的反碼就是在原碼的基礎上符號位不變其餘位按位取反,負數的補碼就是在反碼的基礎上+1。

計算機原碼怎麼算?原碼是怎麼算

我也不是很清楚你應該問問你媽媽。原碼是怎麼算 原碼 在數值前直接加一符號位的表示法。例如 符號位 數值位。7 原 0 0000111 b 7 原 1 0000111 b 注意 a.數0的原碼有兩種形式 0 原 00000000b 0 原 10000000b b.8位二進位制原碼的表示範圍 127 1...

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

計算機中補碼定義等於原碼取反加一最大的好處就是運算方便。在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理 同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。補碼還有以下特性 1 一個負整數 或原碼 與其補數...

計算機問題,計算機問題

三城補橋 用電腦來解決問題的三大步驟是 分析問題。用電腦來解決問題時,首先電腦要對問題進行定性 定量的分析,然後才能設計演算法。定性分析法是對問題進行 質 的方面的分析,確定問題的性質,定量分析法,是對要解決的問題的數量特徵 數量關係與數量變化進行分析的方法。設計演算法。演算法 algorithm ...