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進位制 的實踐要比二或三進位制計數出現的晚.摘...