二進位制的與,或,左右移運算及原碼補碼反碼

2021-10-24 04:16:57 字數 711 閱讀 1765

符號描述

說明0 0

0 11 0

1 1|

或兩個位都為1時才為1

0 | 0 = 0

0 | 1 = 0

1 | 0 = 0

1 | 1 = 1&與

兩個位都為0時才為0

0 & 0 = 0

0 & 1 = 0

1 & 0 = 0

1 & 1 = 1^異或

兩個位相同為0,不同為1

0 ^ 0 = 0

0 ^ 1 = 1

1 ^ 0 = 1

1 ^ 1 = 0~取反

0變1 ,1 變 0

<<

左移各二進位全部左移若干位,高位丟棄,低位補0

>>

右移各二進位全部右移若干位,對無符號數,高位補0,有符號數,各編譯器處理方法不一樣,有的補符號位(算術右移),有的補0(邏輯右移)

原碼補碼反碼

1、正數的原碼、反碼、補碼都一樣;

2、負數的反碼 = 它的原碼符號位不變,其他位取反(取反的意思:0 換成 1 、 1 換成 0 );

3、負數的補碼 = 它的反碼 +1;

4、0的反碼、補碼都是0;

【特別注意】

1、在計算機運算的時候,都是以 補碼 的方式來運算的 。

2、二進位制 轉為 十進位制,必須使用 二進位制 的原碼進行轉換

3、補碼的補碼就是原碼

二進位制的左右移位運算

移位運算子 最重要的一點,雖然數字存貯在計算機記憶體中是以2進製的補碼形式,但是運用移位運算子時是對原始碼進行的。移位運算子 高位捨棄,低位補0 負數與正數的運算是一樣的 例 int a 10,g.g a 4 160 a 11010 2 110100000 160 10 移位運算子 符號位隨著運算數...

原碼 反碼與補碼與二進位制的運算

在計算機中,原碼 反碼以及補碼是為了區分正數與負數的表達與運算設計出來的,其中負數的二進位制表示是先把數字獲得二進位制原碼經反碼再補碼得到的 在原碼中即把數字直接轉換為二進位制,其中第一位為符號位 符號位0代表整數,符號位1代表負數 其餘為該數的二進位制原碼 例如下面是 12與 12的原碼的表達方式...

二進位制與運算

一如題 202.99.160.50 換算成二進位制為 11001010 01100011 10100000 00110010 255.255.255.0 換算成二進位制為 11111111 11111111 11111111 00000000 與運算結果為什麼等於 11001010 01100011...