博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

位运算举例

Posted on 2023-03-12 22:15  乔55  阅读(18)  评论(0编辑  收藏  举报

位运算举例

#define BIT(i) (1<<(i))		// 定义左移宏函数,1左移i位
// 第0位:BIT(0),将1左移0位,24个0,0000,0001
// 第1位:BIT(1),将1左移1位,24个0,0000,0010
// 第2位:BIT(2),将1左移1位,24个0,0000,0100
// 第3位:BIT(3),将1左移1位,24个0,0000,1000
// unsigned int task=0;	// 先定义一个全0编码的32位无符号整数
// task = task|BIT(i);	// 将第i位置1.但会覆盖task其他位.如何只操作第i位
// if(task&BIT(i))为真,	// 则说明第i位为1
// 将某位置为1:; task|BIT(i);将某位与task按位或即可
// 判断某位是否为1:if(task&BIT(i))为true,则第i位为1