按位異或運算 (正數異或負數)

2021-06-06 03:32:04 字數 870 閱讀 8681

正數反碼:與原碼相同

負數反碼:符號位為「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 ...