|
发表于 2019-9-4 11:40:47
|
显示全部楼层
本帖最后由 jackz007 于 2019-9-4 12:38 编辑
(1 << n)的意思是把 1 向左移动 n 个二进制位,其实就是 2 ^ n,比如,(1 << 0)= 1,(1 << 3) = 8 ,. . .(1 << 7) = 128
只要运行一下下面的代码就明白了
- #include <stdio.h>
- #define MOD_CONTROL_LEFT (1<<0)
- #define MOD_SHIFT_LEFT (1<<1)
- #define MOD_ALT_LEFT (1<<2)
- #define MOD_GUI_LEFT (1<<3)
- #define MOD_CONTROL_RIGHT (1<<4)
- #define MOD_SHIFT_RIGHT (1<<5)
- #define MOD_ALT_RIGHT (1<<6)
- #define MOD_GUI_RIGHT (1<<7)
- main(void)
- {
- printf(" mod_control_left : %d\n" , MOD_CONTROL_LEFT) ;
- printf(" mod_shift_left : %d\n" , MOD_SHIFT_LEFT) ;
- printf(" mod_alt_left : %d\n" , MOD_ALT_LEFT) ;
- printf(" mod_gui_left : %d\n" , MOD_GUI_LEFT) ;
- printf("mod_control_right : %d\n" , MOD_CONTROL_RIGHT) ;
- printf(" mod_shift_right : %d\n" , MOD_SHIFT_RIGHT) ;
- printf(" mod_alt_right : %d\n" , MOD_ALT_RIGHT) ;
- printf(" mod_gui_right : %d\n" , MOD_GUI_RIGHT) ;
- }
复制代码 |
|