二進位數如何求補數(正數和負數)?

二進位數如何求補數(正數和負數)?


正:全不變
負:除符號比特外,各位取反加一



二進位負數補數轉為十進位
還有意義嗎?
如-59原碼是1011 1011
補數是1100 0101這不就是十進位-69嗎?有何意義


這是用八位補數表示的,最高位表示為符號比特,0代表是正數,1代表負數
-59為負數所以最高位是1
59D=111011B
所以-59D=1011 1011
反碼就是將除符號比特外取反
所以反碼為:1100 0100
補數就是反碼加1
所以反碼為:1100 0101
如果已知補數求原碼只需將補數再求補數就得到原碼
例如已知補數
1100 0101
首先最高位為1所以為負數
反碼為:1011 1010
原碼為:1011 1011=-59
用補數表示時將二進位的減法運算變成加法運算,方便電腦處理數據
例如:8-5用補數表示
1000(8)
+ 1011(-5)
0011=3D



有符號二進位數10000000作為補數,求原碼
按照减一再取反,10000000减去00000001後結果是什麼呢?因為最高位是符號比特1,能參與減法運算嗎?結果是01111111(正數)嗎,再取反,不就是10000000,這個不是表示-0嗎,-128用有符號原碼怎麼表示呢?+128呢?


10000000-00000001=10000000+11111111=011111111,結果為01111111,而且有進位,表示有溢出,最高為必須參與運算,因為機器是不知道是否原碼還是補數,這也就是把減法變成加法的方法.128已經超出一個位元組的有符號整數的錶…



問道數學題如下;過點A(3,-1)做直線L交x軸於B點,交直線L1;y=2x於c點,BC向量=2AB向量,求直線L的方程
要有標準的階解題步驟哦謝謝啦


設直線L:y=ax+b則B(-b/a,0),聯立L,L1方程可得C(b/a(2-a),2b/(2-a))則BC向量=(2b/a(2-a),2b/(2-a)),AB向量=(-b/a-3,1)由BC=2AB得a+b=2-------------------------------(1)將A(3,-1)帶入L方程得3a+b=-1---------…