通過按位與和按位或操作來拉高或者拉低某位的電平,用這兩種運算可以讓其他為的電平狀態不受影響。
1.按位或 | 操作,可以實現拉高電平 0 -> 1,即對應位至少有一者為1運算結果為1,都為0才為0
將需拉高電平的低電平位0與1進行按位或操作,0 | 1 = 1即可拉高電平。如果原操作為也有為0的,為保證其電平不改變,其對應位應與0按位或,0 | 0 = 0,從而保持了原來的低電平狀態不變。
例如:0001011 將第3位(從右往左數)的低電平拉高
0001011 | 0000100 = 00001111
由此第3位0 | 1 = 1,為使其他位不變皆與0做按位或運算
2.按位與&操作,可以實現拉低電平 1 -> 0,即對應位兩者都為1運算結果為1,否則為0
將需拉低電平的高電平位1與0進行按位與操作,1 & 0 = 0即可拉高電平。如果原操作位也有為1的,為保證其電平不改變,其對應位應與1按位與,1 & 1= 1,從而保持了原來的高電平狀態不變。
例如:0001111 將第3位(從右往左數)的高電平拉低
0001111 & 1111011 = 00001111
由此第3位1 & 0 = 0,為使其他位不變皆與1做按位與運算
詳解「 按位與 按位或 按位異或」
按位與 按位或 按位異或 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二進位制補碼 00000101 5的二進位制補碼 0000...
2019 9 02 按位或,按位與, 按位異或
a b a a b a 或者 b 只要有乙個為 1,那麼,a 的最終結果就為 1 a b a a b a 和 b 二者必須都為 1,那麼,a 的最終結果才為 1 a b a a b 當且僅當 a 和 b 的值不一致時,a 的最終結果才為1,否則為0 計算時,先把其化為二進位制數 如 5 0101 3...
按位與 按位異或 按位取反
按位與 按位或 按位異或 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二進位制補碼 00000101 5的二進位制補碼 0000...