負29源碼
1. 計算機中負29的補碼是什麼
十進制-29用八位補碼表示為0xE3,也就是1110 0011b。
好好學習天天向上
2. 什麼是源碼,反碼,補碼
這三個都是二進制數,如果源碼是正的,那麼反碼,補碼都是和源碼是一樣的,如果源碼是負的話,其中最高位是符號位,1表示負,0表示正。比如-15,它的源碼是10001111,反碼就是把源碼的0和1互換位置,其中符號位不變。-15的反碼是11110000,補碼就是在反碼的基礎上末尾加1就行了
3. +0或者-0的源碼、反碼、補碼
[+0]原碼=0000 0000, [-0]原碼=1000 0000
[+0]反碼=0000 0000, [-0]反碼=1111 1111
[+0]補碼=0000 0000, [-0]補碼=0000 0000
補碼沒有正0與負0之分。正數的反碼、補碼和其源碼相同,負數的反碼是其源碼,除符號位外其他位取反負數的補碼是取其反碼後加1。
詳細釋義:
所謂原碼就是二進制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。
(一)反碼表示法規定:
1、正數的反碼與其原碼相同;
2、負數的反碼是對正數逐位取反,符號位保持為1;
(二)對於二進制原碼10010求反碼:
((10010)原)反=對正數(00010)原含符號位取反= 反碼11101 (10010,1為符號碼,故為負)
(11101) 二進制= -2 十進制
(三)對於八進制:
舉例 某linux平台設置了默認的目錄許可權為755(rwxr-xr-x),八進製表示為0755,那麼,umask是許可權位755的反碼,計算得到umask為0022的過程如下:
原碼0755= 反碼 0022 (逐位解釋:0為符號位,0為7-7,2為7-5,2為7-5)
(四)補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
(3)負29源碼擴展閱讀
轉換方法
由於正數的原碼、補碼、反碼表示方法均相同,不需轉換。在此,僅以負數情況分析。
(1) 已知原碼,求補碼。
例:已知某數X的原碼為10110100B,試求X的補碼和反碼。
解:由[X]原=10110100B知,X為負數。求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。
1 0 1 1 0 1 0 0 原碼
1 1 0 0 1 0 1 1 反碼,符號位不變,數值位取反
1 +1
1 1 0 0 1 1 00 補碼
故:[X]補=11001100B,[X]反=11001011B。
(2) 已知補碼,求原碼。
分析:按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1 有方法。
例:已知某數X的補碼11101110B,試求其原碼。
解:由[X]補=11101110B知,X為負數。
採用逆推法
1 1 1 0 1 1 1 0 補碼
1 1 1 0 1 1 0 1 反碼(末位減1)
1 0 0 1 0 0 1 0 原碼(符號位不變,數值位取反)
4. 負數的原碼、補碼。請求。
在計算機中,數的正負號是用0,1表示。
真值為正時。其原碼,反碼,補碼完全相同。
如:真值=+0101010,
原碼=反碼=補碼=00101010
真值為負時,其原碼就是把負號改為1,其餘不變。反碼就是負號改為1,其餘取反。補碼就是在反碼的基礎上加1. 加1時記得是逢2進1.
如:真值=-0101010
原碼=10101010
反碼=11010101
補碼=11010110
這上面的就是對原碼,反碼,補碼的解說,希望對你有幫助。你上面舉的數,我不知是原碼還是反碼,所以不解。你可以根據我什麼說的,去解就行了。
你如果還有不解的可以聯系我!
!!!根據你的補充,是你說的那樣,但是要記得先把反碼求出來才能求得補碼哦!
5. 十進制的原碼、補碼
十進制-67的原碼是01000011、反碼是10111100和補碼是10111101。
轉換規則:
1、負整數的原碼為二進制前面加符號位;
-67=1000011(二進制)=11000011(原碼)
2、負整數的反碼=原碼各位取反(除了符號位外);
11000011(原碼)=10111100(反碼)
3、負整數的補碼=負整數的反碼+00000001;
10111100(反碼)=10111101(補碼)
(5)負29源碼擴展閱讀:
已知一個數的補碼,求原碼的操作其實就是對該補碼再求補碼:
⑴如果補碼的符號位為「0」,表示是一個正數,其原碼就是補碼。
⑵如果補碼的符號位為「1」,表示是一個負數,那麼求給定的這個補碼的補碼就是要求的原碼。
例:已知一個補碼為11111001,則原碼是10000111(-7)。
因為符號位為「1」,表示是一個負數,所以該位不變,仍為「1」。
其餘七位1111001取反後為0000110;再加1,所以是10000111。
6. 怎麼求一個負數的原碼和補碼
正數,本身就是補碼。
負數,就用它的正數,減一取反,即可得到補碼。
如:+9 的二進制是:0000 1001。
下面求-9 補碼:
先減一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 補碼 = 1111 0111。
這不就完了嗎!
簡不簡單?意不意外?
原碼反碼符號位,討論這些垃圾幹嘛?
這些垃圾,只是那些專家用來騙吃騙喝的!
7. 負數的補碼怎麼求
就比如-9 補碼是11110111。
9的源碼為00001001,如果是負數的話,補碼為最高位置1,
其餘取反也就是11110110,
然後在最低位加1即可即11110111。
8. 計算機字長為8位,求-27的二進制源碼和補碼
概念:
負數的補碼是:=>源碼=>反碼=>末尾+1=>得到補碼!
-27:補碼:
先看正27的源碼:=>0001 1011
取反 :=>1110 0100 (反碼)
末尾加1 :=>1110 0101 (這個就是-27的補碼)
你也可以還原他!
補碼末尾減1=>得到反碼=>反碼取反得到源碼
其實負數在內存裡面存在就是補碼形式的存在的,你可以直接輸出就能看到!