C語言中的位操作符

2021-10-10 23:55:22 字數 885 閱讀 2197

今天來總結一下c語言中的位操作符,常見的有六種位操作符。

參與運算的兩個值,轉換成2進製,如果兩個相應位均為1時,結果位才為1,否則為0.

例如 6&8=0,轉換成二進位制

00000110 & 00001000 = 00000000

參與運算的兩個值,轉換成二進位制,如果兩個數的相應位有1,結果位就為1。

例如 6 | 8=14,轉換成二進位制

00000110 | 00001000 = 00001110

參與運算的兩個值,轉換成二進位制,如果兩個數的相應為相同,為0,否則為1.

例如:6^8=14,轉換成2進製:

00000110 ^ 00001000 = 00001110

左移運算子和右移運算子都是雙目運算子。

左移運算:其功能是將運算子『<<』左邊的運算元的各二進位制位全部左移指定的位數。左移時,運算元移出左邊界的位被遮蔽,從右邊開始用0填補空位,其表示式的一般形式為:(運算元) << (移位位數)

例如:13 << 3, 將運算元轉換成二進位制0000 1101,左移3位0110 1000,十進位制就是104。

15<<2, 將運算元轉換成二進位制0000 1111,左移2位0011 1100,十進位制就是60

右移運算子同理。

右移時,運算元移出右邊的位被遮蔽,從左邊開始用符號位填補空位。如果原先最高位是1,則填補1;如果是0,則填補0,其表示式的一般形式為:(運算元) >> (移位位數) 。

例如:13 >> 3, 將運算元轉換成二進位制000 1101,右移3位0000 0001,十進位制就是2。

15>>2, 將運算元轉換成二進位制0000 1111,右移2位0000 0011,十進位制就是3。

取反運算子~為單目運算子,其功能是對參與運算的數的各二進位按位求反。即二進位制1變0,0變1。

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

C語言中的操作符

包括 需要注意的是,操作符的兩邊都必須為整型 其他的操作符既可用於整型,也可用於浮點型資料,其中 中有乙個資料為浮點型執行浮點型資料運算 包括 左移操作符 和右移操作符 左移操作符的移位規則是 左邊丟棄,右邊補0 整數在記憶體中以二進位制補碼的形式儲存,在左移之後,該數並沒有發生改變 右移操作符的移...

c語言中的操作符

1.除了 操作符之外,其他幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個操作符都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須是整數。返回的是整除之後的餘數。左移操作符 左邊拋棄,右邊補0,右移操作符 1.邏輯移位 2.算術移位 按位與 按位或 按位...