正數反碼:與原碼相同
負數反碼:符號位為「1」,數值位按位 取反。
正數補碼:與原碼相同
負數補碼:求反加一
記住:所有參與運算的都是以補碼形式進行的
結果也是補碼 因此也需要將補碼轉換成為原碼的形式存在
下面就以乙個例子進行講解:
負二 異或 三等於多少?(-2 ^
3) = ?
那麼怎麼轉換成位補碼呢?
1.如果是負數的情況,那麼將需要進行轉換
負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反;然後再加1。
如:-2
原始碼:1000 0000 0000 0010 (負數,最高為是1)
反碼:1111 1111 1111 1101 (按位取反)
補碼:1111 1111 1111 1110 (加一)
2.如果是正數,那麼原碼和補碼一樣
3的補碼:
0000 0000 0000 0011
所以-2^3 =
1111 1111 1111 1110
^ 0000 0000 0000 0011
= 1111 1111 1111 1101
因為結果也是補碼,所以必須要轉換成為原碼
分為兩種情況:
1.如果最高為為1 即為負數 那麼最高位不變 其他按位取反,
最後加一 和前邊補碼轉原碼是一樣的
2.最高為是0,不用轉化
***************此題的結果為:-3
其他的運算都是類似的 注意:
所有參與運算的都是以補碼形式進行的
結果也是補碼 因此也需要將補碼轉換成為原碼的形式存在
按位異或運算
按位與 按位或 按位異或 為什麼5 3得到1 5 3得到7 5 3得到6.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二進位制補碼 ...
按位與 或 異或運算
一 按位與 1 概念 參加運算的兩個物件,按二進位制位進行 與 運算,負數按補碼形式參加按位與運算。2 運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 有0則0 例如 3 5 1,即 0000 0011 0000 0101 0000 0001 3...
按位與 或 異或運算
一 按位與 1 概念 參加運算的兩個物件,按二進位制位進行 與 運算,負數按補碼形式參加按位與運算。2 運算規則 0 0 0 0 1 0 1 0 0 1 1 1 即 兩位同時為 1 結果才為 1 否則為0 有0則0 例如 3 5 1,即0000 0011 0000 0101 0000 0001 3 ...