c語言的位運算子學習筆記

2022-09-18 13:54:12 字數 643 閱讀 6892

按位取反運算子~

每位的值取反

~(10010110) = 01101001

按位與運算子&

對應位只有2個運算元都為1結果才為1

(10001011)&(10111101)=10001001

用法:取掩碼

我們經常會看到**中有

a & 0xff

就是將低16位之外的位全部置0,僅保留低16位的值

按位或運算子|

對應位只要有1個運算元為1結果就為1

(10001011)|(10111101)=10111111

用法:開啟位

譬如mask = 0x00000100

任意值 rand |= mask 其實就是將從低位開始第三位設定成1,其它位保持不變

按位異或運算子^

對應位相同則為0,不相同結果為1

(10001011)^(10111101)=00110110

用法:轉置位

移位運算子

左移位<<

每一位向左移x位

例如:

a = 0x00000001

a<<2

這時a = 0x00000100

右移位》

類似左移位

C語言位運算子

一.c語言位運算子簡介 c語言的位運算子有六種,分別是 右移運算子 左移運算子 按位與運算子 按位或運算子 按位異或運算子 按位取反運算子 這些運算子都是對於基本資料型別的二進位制位進行操作的,這裡我們只討論整型資料型別的位運算 二.各個運算子的具體使用 右移運算子 將整數的二進位制形式整體向右移動...

C語言 位運算子

位運算是指按二進位制進行的運算。在系統軟體中,常常需要處理二進位制位的問題。c語言提供了6個位操作運算子。這些運算子只能用於整型運算元,即只能用於帶符號或無符號的char,short,int與long型別。c語言提供的位運算子列表 1 按位與 運算子 按位與是指 參加運算的兩個資料,按二進位制位進行...

C語言 位運算子

位操作符,主要包括 與,或 符 取反符 移位符 異或符 開始前先看一段實現二進位制輸出的 方便觀察位操作 參考鏈結知乎作者 碼農愛學習 void printf bin int num printf 每8位加個空格,方便檢視 printf r n 與0清0,與1不變 功能1 提取位資料 功能2 清除 ...