按位與、按位或、按位異或


位運算符:二進制數從低位到高位對其后進行計算。

按位與:&

運算規則:1 & 1 = 1 ,0 & 0 =0 ,1 & 0 = 0 

總結:兩邊同時為1時,才得1

按位或:|

運算規則:1 | 1 = 1 ,0 | 0 =0 ,1 | 0 = 1 

總結:兩邊有一個為1時,就得1

按位異或:^

運算規則:1 ^ 1 = 1 ,0 ^ 0 =1 ,1 ^ 0 = 0, 0 ^ 1=0 

總結:兩邊相同時為1,不同時為0

& 0xFF的作用:取得低8位

如:數字0x1234,如果只是想取得低8位寫入 ==> 0x1234&0xff

0x1234 二進制表示為 0001 0010 0011 0100

0xff二進制表示為 1111 1111

兩個數做與操作,要將0xff補充到16位,即是高位補0

0xff   ==>      0000 0000 1111 1111

0x1234 ==>  0001 0010 0011 0100

0x1234 & 0xff  可得  0000 0000 0011 0100 ==>0x34

左移 :

運算規則: 按二進制形式把所有的數字向左移動對應的位數,高位移出(舍棄),低位的

空位補零。例如0000 0000 0000 0000,這十六個位置中前八個就是高位,后八個是低位。

3 << 2  (3左移2位 )===   0000 0011 左移2位得  0000 1100 (十進制:12)

數學意義: 在數字沒有溢出的前提下,對於正數和負數,左移一位都相當於乘以2的1次,左移n位就相當於乘以2的n次方。

3X2^2=3X4=12

右移:

(帶符號右移)
運算規則: 按二進制形式把所有的數字向右移動對應的位數,低位移出(舍棄),高位的空位補符號位,即正數補零,負數補1。

https://blog.csdn.net/weixin_51358025/article/details/110430952

 

關於int 占幾個字節https://www.cnblogs.com/leifei/p/11746403.html

 


免責聲明!

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



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