c++位運(yùn)算符的運(yùn)算規(guī)則是什么

c++
小億
106
2024-02-21 14:13:22
欄目: 編程語言

C++中的位運(yùn)算符用于對(duì)整數(shù)類型數(shù)據(jù)的二進(jìn)制位進(jìn)行操作。以下是C++中常用的位運(yùn)算符及其運(yùn)算規(guī)則:

  1. 按位與(&):對(duì)兩個(gè)數(shù)的每個(gè)二進(jìn)制位進(jìn)行與操作,只有兩個(gè)操作數(shù)對(duì)應(yīng)的位都為1時(shí),結(jié)果對(duì)應(yīng)位才為1,否則為0。

  2. 按位或(|):對(duì)兩個(gè)數(shù)的每個(gè)二進(jìn)制位進(jìn)行或操作,只要兩個(gè)操作數(shù)對(duì)應(yīng)的位有一個(gè)為1時(shí),結(jié)果對(duì)應(yīng)位就為1,否則為0。

  3. 按位異或(^):對(duì)兩個(gè)數(shù)的每個(gè)二進(jìn)制位進(jìn)行異或操作,兩個(gè)操作數(shù)對(duì)應(yīng)位相同時(shí)結(jié)果為0,不同則為1。

  4. 按位取反(~):對(duì)一個(gè)數(shù)的每個(gè)二進(jìn)制位進(jìn)行取反操作,即1變?yōu)?,0變?yōu)?。

  5. 左移(<<):將一個(gè)數(shù)的所有二進(jìn)制位向左移動(dòng)指定位數(shù),低位用0填充。

  6. 右移(>>):將一個(gè)數(shù)的所有二進(jìn)制位向右移動(dòng)指定位數(shù),高位用符號(hào)位填充(對(duì)于有符號(hào)數(shù),用符號(hào)位填充;對(duì)于無符號(hào)數(shù),用0填充)。

這些位運(yùn)算符可以用于進(jìn)行高效的位操作,常用于位掩碼、位清零、位設(shè)置等操作。

0