C/C++中的位運算符


--------開始--------

 

我自己都記不住這是第幾次把這幾個位運算符搞混了,剛好在剛用過來把這幾個位運算符記下來,俗話說的好好記性不如個爛筆頭。

 

運算符:

                          與           或           非          異或

                      and , &      or , |       not , ~        ^

單目運算符:~(按位取反)

雙目運算符:<<   >>   &   |   ^(左移,右移,按位與,按位或,按位異或)

 

1)~     按位取反具有有結合性,其功能為對參與運算的數的各二進制位按位取反。

2)&     其功能為對參與運算的兩操作數各對應的二進制位相與。(都為1為1,否則為0)

3) |     其功能為對參與運算的兩操作數各對應的二進制位想或。(有1為1,沒1為0)

4)^     其功能為對參與運算的兩操作數各對應的二進制位相異或。(同是1為0,都為0為0,有單個1為1)                               // 1)2)3)4)為邏輯運算符

5)>>   右移運算符其功能為把操作數的各二進制位全部右移若干位。(類似將該數除於2的若干次方倍)

6)<<   左移運算符其功能為把操作數的各二進制位全部左移若干位。(類似將該數乘於2的若干次方倍)         // 5)和 6)為移位運算符

 

移位運算:移位后高位以符號位填充,低位越界后舍棄     且大多數為向下取整。

 

--------結束--------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM