c語言中對於移位運算符的用法


//1 << 0 是把1 按2進制 左移0位,結果還是 1 ,2進制 0000 0001

//1 << 1, 是把1 按2進制 左移1位,結果是2,2進制 0000 0010

 

enum

 

{

    

    GTK_ACCEL_VISIBLE = 1 << 0,

    

    GTK_ACCEL_LOCKED = 1 << 1,

    

    GTK_ACCEL_MASK = 0x07

    

}

 

//等價於:

 

#define GTK_ACCEL_VISIBLE (1 << 0)

 

#define GTK_ACCEL_LOCKED (1 << 1)

 

#define GTK_ACCEL_MASK 0x07

 

 

typedef enum

 

{

    

    GTK_ACCEL_VISIBLE ...

    

    GTK_ACCEL_LOCKED ...

    

    GTK_ACCEL_MASK ...

    

} GtkAccelFlags;

 

//定義變量類型: GtkAccelFlags

//

//該類型變量正確的取值 只有 GTK_ACCEL_VISIBLE,GTK_ACCEL_LOCKED,GTK_ACCEL_MASK。

//

//其它值是錯誤的。

//

//

//顧名思義:

//

//GtkAccelFlags GTK 進入標志

//

//GTK_ACCEL_VISIBLE 可見 0000 0001

//

//GTK_ACCEL_LOCKED 鎖定 0000 0010

//

//GTK_ACCEL_MASK 屏蔽值 0000 0111

 

//應用例子:

 

GtkAccelFlags flag1;

 

flag1 = 。。。;

 

if (flag1 == GTK_ACCEL_VISIBLE){

    

    ....

    

} else {

    

    .....

    

}


免責聲明!

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



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