負69的源碼
1. 設x=-69,字長n=8,含一位符號位,則x的原碼為 x的補碼為 雖然知道怎麼算,但是怕
69轉換成二進制數,寫出二進制各位上基數,寫8位
128 64 32 16_8_4_2_1
_0__1__0_0_0_1_0_1 69=64+4+1=二進制數01000101
取反10111010,加1=10111011
因為69的二進制碼為01000101,所以-69的源碼為11000101(最高位變1)
-69的補碼為10111011(絕對值二進制碼取反加1)
2. 將十進制數-68轉化為二進制下的源碼、反碼、補碼
68的二進制是0100
0100,首位是符號號,負號為1所以-68
原碼:1100
0100負數的反碼是原碼符號號不變,其它位取反:10111011負數的補碼是反碼尾加1,所以補碼:10111100
(2)負69的源碼擴展閱讀
二進制數除法與十進制數除法很類似。可先從被除數的最高位開始,將被除數(或中間余數)與除數相比較,若被除數(或中間余數)大於除數,則用被除數(或中間余數)減去除數,商為1,並得相減之後的中間余數,否則商為0。
再將被除數的下一位移下補充到中間余數的末位,重復以上過程,就可得到所要求的各位商數和最終的余數。
3. 怎麼求一個負數的原碼和補碼
補碼,來自於:補數。
一般的常識:
鍾表時針,倒撥 3 小時,可以用「正撥 9 小時」來代替。
同理,分針 倒撥 X 分,可以用 正撥 60-X 代替。
60 是分針的周期。
十進制數,兩位:0~99,周期就是一百。
-1 可以用 +99 代替。
如:25 - 1 = 24
25 + 99 = (1) 24
忽略進位 1 百,結果就是相同的。
那麼,-1 的補數,就是 99 。
-2 的補數,就是 98 。
-X 的補數,就是【 周期 + 該負數 】。
--------
藉助於補數,就可以用加法,代替減法運算。
所以,計算機就可以節省硬體了。
--------
八位二進制:0000 0000~1111 1111(0~255)。
周期是 256。
那麼,-1 可以用 1111 1111 (+255) 代替。
即:
-1 的補碼,就是 1111 1111 (= 256-1=+255) 。
-2 的補碼,就是 1111 1110 (= 256-2=+254) 。
。。。
-X 的補碼,就是【 周期 + 該負數 】。
-128,就可以用 1000 0000 (= 128)代替 。
正數,不需要變換,直接運算即可。
--------
在計算機中,負數,就是用補碼存儲、計算的。
原碼和反碼,毫無用處,它們在計算機中都不存在。
4. 計算機的原碼,反碼,補碼是怎麼回事可以舉例說明嗎
原碼、反碼和補碼是計算機中對數字二進制的三種表示方法。
1、原碼
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
例如:用8位二進製表示一個數,+11的原碼為00001011,-11的原碼就是10001011。
2、反碼
反碼是數值存儲的一種,多應用於系統環境設置,如linux平台的目錄和文件的默認許可權的設置umask,就是使用反碼原理。反碼的表示方法是:正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1。
例如:
[+7]反= 0 0000111 B;
[-7]反= 1 1111000 B。
3、補碼
正數:正數的補碼和原碼相同。負數:負數的補碼則是符號位為「1」。並且,這個「1」既是符號位,也是數值位。數值部分按位取反後再在末位(最低位)加1。也就是「反碼+1」。
例如:
[+7]補= 0 0000111 B;
[-7]補= 1 1111001 B。
(4)負69的源碼擴展閱讀
原碼、反碼、補碼的轉換方法如下:
(1) 已知原碼,求補碼。
例:已知某數X的原碼為10110100B,試求X的補碼和反碼。
首先通過原碼的首位確定該數字的正負,若為正數,反碼與原碼相同,補碼比原碼在末尾加1;若為負數,求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。
(2)已知補碼,求原碼。
按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1的方法。
5. 如何用負數的補碼來求原碼,求例子
首先,負數的補碼=其正數的源碼的反碼+1。然後,負數的源碼就是先減1在取反,最高位為1
eg:(-125)源=11111101b,
(-125)反=10000010b,
(-125)補=10000011b,反過來求-125的源碼就是用-125的補碼10000011先減1,得到10000010,在取反01111101,最高位改成1,11111101,懂了嗎?祝考試周愉快~