9位运算
异或运算:^ --> 两个变量,按照bit位比较,同位置 bit位相等 则结果为 0, 不相等,则结果为1 任意数 x x^x = 0; x^(~x) = 0xffffffff ? 或运算:|?--> 把两个变量, 按照bit位比较,同位置的bit位 有一个 为 1 ,则结果 为 1,只有两个值都为 0 的情况,结果才 为0 ? 与运算:&?--> 把两个变量, 按照bit位比较,同位置的bit位? 有一个为 0, 则结果为 0,只有两个值都为 1 的情况,结果才为1 ? 事实上:|? 和 || 很类似,只是说 | 是按照bit位一位位运算,?&? 和 && ............. ?
可以使用 1 个 int 来表示 32 个灯的开关状态:每个 bit位表示 1盏灯 (0关,1开) 比如说,原来32 个灯 开关状态是 x
假如我们想关闭 第 5 盏灯 (其他灯保持原状态) x &= ~(1<<27) 假如,我们想修改第5盏灯状态 (其他灯保存原状态) x ^= (1<<27) 假如我们想 获取第 5 盏灯的状态? --> x & (1<<27) #define LED_1 1 ? int led_stat 判断第 N 个灯状态 --》 led_stat & LED_N (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |