什麼是補碼,什麼是補碼?C

2021-12-25 23:01:00 字數 3471 閱讀 8706

1樓:匿名使用者

求給定數值的補碼錶示分以下兩種情況:

(1)正數的補碼

與原碼相同。

【例1】+9的補碼是00001001。(備註:這個+9的補碼說的是用8位的2進位制來表示補碼的,補碼錶示方式很多,還有16位2進位制補碼錶示形式,以及32位2進位制補碼錶示形式等。)

(2)負數的補碼

符號位為1,其餘位為該數絕對值的原碼按位取反;然後整個數加1。

同一個數字在不同的補碼錶示形式裡頭,是不同的。比方說-15的補碼,在8位2進位制裡頭是11110001,然而在16位2進位制補碼錶示的情況下,就成了1111111111110001。在這篇補碼概述裡頭涉及的補碼轉換預設了把一個數轉換成8位2進位制的補碼形式,每一種補碼錶示形式都只能表示有限的數字。

【例2】求-7的補碼。

因為給定數是負數,則符號位為「1」。

後七位:+7的原碼(0000111)→按位取反(1111000)→加1(1111001)

所以-7的補碼是11111001。

已知一個數的補碼,求原碼的操作分兩種情況:

(1)如果補碼的符號位為「0」,表示是一個正數,其原碼就是補碼。

(2)如果補碼的符號位為「1」,表示是一個負數,那麼求給定的這個補碼的補碼就是要求的原碼。

再舉一個例子:求-64的補碼

+64:01000000

11000000

【例3】已知一個補碼為11111001,則原碼是10000111(-7)。

因為符號位為「1」,表示是一個負數,所以該位不變,仍為「1」。

其餘七位1111001取反後為0000110;

再加1,所以是10000111。

2樓:匿名使用者

42486(10) = 1010010111110110(2) unsigned

1010010111110110(2) signed = -(101101000001001+1)(2)

= -23050(10)

-----------

(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。

-----------

lz很不厚道耶....你的題目明明問的是"結果是什麼?",又不要結果....

你要的是什麼程式?

輸出的程式嗎?

3樓:科學普及交流

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

原因在於使用補碼,可以將符號位和數值位統一處理;同時,加法和減法也可以統一處理。

補碼特性

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

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

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

4樓:

補碼相對於反碼來說還是用的比較多的 例如:原碼為10110101 其中 第一位為符號位,則反碼為原碼除了符號位各位取反 結果為:11001010 而補碼為反碼加一 結果為:

11001011

5樓:

在計算機內部是沒有什麼負數的,負數是以補碼形式存在計算機內的,最高位一般是符號位

1的補碼為00000000 00000001 正數的補碼和原碼一樣,負數的補碼是按位取反再加一

-1 00000000 00000001取反11111111 11111110 加一 11111111 11111111

6樓:學無止境分享無限

正數:原碼=反碼=補碼

負數:負數的補碼=反碼+1,注意是最低位加1.

較為特殊,下面舉例,

例子:-1

原碼100000001

反碼111111110

補碼100000000

7樓:沙裡波特

補碼,與 c++ 無關。

在數學中,有個概念,叫做:補數

鐘錶,倒撥 2 小時,可以用正撥 10 小時來代替。

即:-2 的補數,就是 10。

利用補數,可以用加法,代替減法運算。

對於兩位十進位制數,減一,可以用加 99 代替。

如: 25 - 1  = 24

25 + 99 = (1) 24

忽略進位 1 百,結果就是相同的。

即:-1 的補數,就是 99。

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

-1,可以用 1111 1111 (即十進位制 255) 來代替。

即:-1 的補數(補碼),就是 1111 1111 (=255)。

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

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

即:256+這個負數, 這就是【負數補碼的定義式】

正數,不用做任何變換,也可以說:【正數,不需要補碼】

利用補碼,可以用一個加法器,來實現減法運算。

8樓:匿名使用者

原碼:人類規定的二進位制**,如:有符號數的原碼第一位為符號位,1為負數,0為正數

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

補碼:計算機中用來表示數的形式,也就是計算機能識別的數。規定:

正數的補碼為其原碼

負數的補碼是在其反碼的末位加1

如果使用原碼來表示資料,則會出現+0 和或-0

而用補碼,則不會有這個現象。

十進位制數 原碼(以一個位元組表示) 反碼 補碼

+15 00001111 00001111 00001111

-15 10001111 1111000 11110001

什麼是補碼 什麼是原碼 原碼和補碼是什麼意思

8位字長原碼錶示的有符號定點小數真值範圍 即 127d 128 d 127 128 d。8位字長補碼錶示的有符號定點小數範圍 即 1d 127 128 d。補碼的一些資訊 補碼 2 s complement 是一種用二進位制表示有號數的方法,也是一種將數字的正負號變號的方式,常在電腦科學中使用。在臺...

原碼,反碼,補碼是什麼補碼,原碼,反碼什麼的。有什麼作用啊!

正數的原碼,補碼,反碼相同,先求原碼,因為正數的原碼就是他的真值。負數的原碼是在正數的原碼基礎上,最高位置1,即符號位。然後再求反碼 符號位1不變,後面的所有位取反,然後再求補碼 在反碼的基礎上,末尾加1 注意負數的反碼,補碼除了符號位外也不是該負數的真值,而是原碼的除了最高位後面的數是真值的絕對值...

闡述補碼運算的意義,補碼運算結果是正數時得到的結果為什麼是真值啊

數值在計算機中表示形式為機器數,計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的是十進位制,正如亞里士多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進位制 的實踐要比二或三進位制計數出現的晚.摘...