c语言中常见的置位操作(置1或清零)

本文详细介绍了如何使用位操作来设置、清除和反转二进制位。通过具体的C语言宏定义和示例代码,展示了如何对特定位进行置1、清0及取反等操作,并提供了获取指定位状态的方法。
#define setbit(x,y) x|=(1<<y) //将X的第Y位置1
#define clrbit(x,y) x&=~(1<<y) //将X的第Y位清0

int a|=(1<<x);//X就是某位需要置1的数字,如第四位置1为: a|=(1<<4)
int b&=~(1<<x); //把某位置0
x=x|0x0100;    //把第三位置1
x=x&0x1011;    //把第三位置0
x=x&(~0x0100); //把第三位置0
#define BitGet(Number,pos) ((Number) >> (pos)&1)) //用宏得到某数的某位
#define BitGet(Number,pos) ((Number) |= 1<<(pos)) //把某位置1
#define BitGet(Number,pos) ((Number) &= ~(1<<(pos)) //把某位置0
#define BitGet(Number,pos) ((Number) ^= 1<<(pos)) //把Number的POS位取反
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值