C語言——位運算

0x——16進制     0b——2進制       0——八進制

~ 按位取反  &按位與  ^按位異或  | 按位或 (優先級從高到低)  

1、測試某位是不是1,如下,測試i的第四位是不是1

if (i & 0b1000) 
        printf("%d\n", i);

2、&,^,|,優先級低於關係運算符號(>,<,>=,<=)和判等運算符號(==,!=)

if(status & 0x4000!=0) 等價於 if(status & (0x4000!=0) )

 

<< 左移,最右端補0;

>> 右移:無符號數或o非負值,數的左端補零;如果數爲負值,結果由實現定義。

i<<2+1,等於i<<(2+1) ,移位運算符級別低

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章