1樓:匿名使用者
1.正數,原碼= 補碼。
2.[x]補 = 10001110,最高位為1,為負數!
負數補碼求原碼步驟:
假設無符 10001110b=128+8+4+2=142
256d - 10001110b = 256 - 142 = 114
所以,x]補 = 10001110,求x的真值 -114.
詳細理論:
c語言、補碼.
1.任何數值是以補碼存放在記憶體中的.
2.正數的補碼和其原碼相同. 補碼 = 原碼。
3.負數的補碼的兩種求法:(假設8bit,即8位)
(1).是將該數的絕對值的二進位制形式,按位取反,再加1.
例. 求-10的補碼.
第一步是取-10的絕對值10;
第二步取10的二進位制形式為00001010;
第三步對00001010取反得11110101;
第四步再加1得11110110.
所以-10在記憶體中就以11110110形式存放。
(2).256-欲求的負數的絕對值 = 此負數的補碼。注意:256 - 的是這個負數的絕對值,而不是這個數
。也就是說 256 -|負數|=補碼. 求其原碼,則 256 - 補碼 = |負數| ,則原碼需要把首位變為1即可.
例. 求-10的補碼.
第一步是 256 - |-10|=246.
第二步把246變為二進位制,11110110.
所以-10在記憶體中就以11110110形式存放。
兩種方法比較下來,顯然,第二種更為簡便!
4.反碼:把每位取反,即0變1,1變0即可。
5.一個有符號定點數的最高位為符號位,0是正數,1是負數。
筆者認為,對於原碼、補碼、反碼的追究無需深入,只需要知道資料在計算機中以補碼形式儲存即可,
至於怎麼儲存是計算機的事情。當然,大學裡面的結業考試或計算機等級考試可能會有個別計算這個的
2樓:委子禹筠心
計算機中的數用補碼錶示,正數的補碼等於原碼,負數的補碼等於反碼+1;
11111111的補碼還是11111111。
3樓:沙裡波特
[x]補 = 1 0001110;
[x]反 = 1 0001101;
[x]原 = 1 1110010;
x真值 = -1110010。
十進位制:-114。
知道補碼怎麼求真值
4樓:愛的風信子
補碼求真值的步驟如下:
如果補碼的最高位是0, 那麼原碼就是補碼, 那麼真值就是對應的十進位制的值。
如果補碼的最高位是1, 那麼原碼就是補碼的反碼+1, 真值就是對應的十進位制的值的相反數。
如補碼是 0101, 那麼真值就是 4 + 1 = 5。
如補碼是1010, 那麼反碼就是0101, +1以後是0110, 所以對應的十進位制是4+2=6, 所以真值就是-6。
補碼(two's complement) 的介紹如下:
1、在計算機系統中,數值一律用補碼來表示(儲存)。
主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補 碼錶示的數相加時,如果最高位(符號位)有進位,則進位被捨棄。
2、補碼與原碼的轉換過程幾乎是相同的。
5樓:匿名使用者
如果補碼的最高位是0, 那麼原碼就是補碼, 那麼真值就是對應的十進位制的值
如果補碼的最高位是1, 那麼原碼就是補碼的反碼+1, 真值就是對應的十進位制的值的相反數
如補碼是 0101, 那麼真值就是 4 + 1 = 5如補碼是1010, 那麼反碼就是0101, +1以後是0110, 所以對應的十進位制是4+2=6, 所以真值就是-6
6樓:非常想念數學
補碼是這樣計算的:
首位為符號位。
符號位為0表示正數,正數的補碼=原碼=反碼。
符號位為1表示負數,負數的補碼等於將符號位後面的位全部取反再加1。另外,一個數的補碼的補碼等於這個數的原碼,所以如果已知一個數的補碼,那麼對這個補碼求一次補碼即可得到這個數的原碼。
前面已經說了,負數的補碼等於符號位後面的位全部取反再加1,所以11010101取反(符號位不變)為10101010,再加1,得到10101011,此即為原真值的原碼,由此很容易得到真值為:
-(32+8+2+1)= -43
7樓:匿名使用者
一個正數的補碼是其本身,如8位(一個位元組)2是:0000 0010,其補碼也是0000 0010。
一個負數的補碼是其對應的絕對值的補碼取反加一,-1的補碼是1111 1111,這個值是這麼獲得的:-1的絕對值是1,1的補碼是0000 0001,安位取反是1111 1110,加1後就是1111 1111。
如果想知道1111 1111對應的數到底是多少,可以這麼計算,如果這個數的第一位是1表示負數,也就是1111 1111是負數,這是數安位取反加1,就是這個負數對應的絕對值,即:1111 1111取反是0000 0000,加1是0000 0001,這個數是1111 1111的絕對值,所以1111 1111對應的值是-1。
8樓:沙裡波特
反其道而行之,即可。
補碼求真值! 25
9樓:匿名使用者
1、1111 1010----你的計算正確。
2、補碼再求補碼就是原碼,1000 0000的反碼為1111 1111,補碼為1000 0000,此即為原碼即-128。
10樓:沙裡波特
11010101 = 213(十進位制)。
碼長假設是 8。
那麼,大於 127 的,就是負數。
真值 = 213-256 = -43。
11樓:做而論道
如果是八位的,補碼 1101 0101,它就代表一個負數。
對後七位,求反加一,即可得出原碼。
(和從原碼求補碼的方法相同。)
那麼,其原碼就是:1010 1011,真值即為:-010 1011,
寫成十進位制,就是-43。
12樓:匿名使用者
最高位符號位不動
補碼減1得反碼
反碼取反得原碼,也就是真值了
13樓:
補碼是這樣計算的:
首位為符號位。
符號位為0表示正數,正數的補碼=原碼=反碼。
符號位為1表示負數,負數的補碼等於將符號位後面的位全部取反再加1。另外,一個數的補碼的補碼等於這個數的原碼,所以如果已知一個數的補碼,那麼對這個補碼求一次補碼即可得到這個數的原碼。
前面已經說了,負數的補碼等於符號位後面的位全部取反再加1,所以11010101取反(符號位不變)為10101010,再加1,得到10101011,此即為原真值的原碼,由此很容易得到真值為:
-(32+8+2+1)= -43
一個數補碼怎麼求真值
14樓:
最高位為0時,真值就是它;最高位為1時,可用符號位不變,資料位取反+1來求得。
補碼怎麼轉換成原碼,補碼如何變成原碼
補碼的補碼等於原碼 就是把補碼看作原碼,再來一次獎原碼轉為補碼的運算,就得到了原碼 例如 4的8位 原碼 1000 0100 反碼 1111 1011 補碼 1111 1100 將現在1111 1100看作原碼,再求一次補碼 反碼 1000 0011 補碼 1000 0100 結果就是要求的原碼。對...
濰柴動力待遇怎麼樣?求真相
住宿方面 第一年住單位提供的集體公寓,本科生是兩人間。每月交少許房租和水電。一年過後是自己出去租房子,濰柴提供18月的住房補貼,本科是300吧。工作上,主要看你學的專業。根據你學專業不同,有三種可能 去管理部室,去專業廠,去技術中心搞設計。專業廠裡一般是幹技術員開始。濰柴見習本科4000 研究生50...
湖大的博士待遇怎麼樣啊?求真實回答
3000 5000是中科院的待遇,湖大從來不會用科研經費給研究生髮補貼的,1000 月才是正解,教育部規定不低於1800,湖大隻給1000,一年只發十個月,扣掉1200公寓費,每年還有8800,8000左右捐給食堂,800左右供自己支配 其實呢,你真心想做研究就不要太計較這些了 已結婚生子,有家要養...