首页 > C > 位运算 阅读:57,774

与(&)运算的应用

< 上一页 与(&)运算 或(|)运算 下一页 >

与运算的性质:任何数&1都是它本身,&00。因此我们可以通过与运算来获取一个整数的某个部份的值,比如:

获取一个整数的后3位:

int x=100;

 

x&7即为x的后三位。因为7的二进制码为0111。所以,任何一个数与7进行与运算,那么其它位都会被置零。只有后三位得到保留。

 

我们也可以使用与运算与取反和移位运算相结合,将整数的某位置零。比如:

x&(~(1<<n))即可将xn位置为零。

#define CLEARFLAG(a,n) ((a) &= ~(1<<(n)))//把整数a中第n位置为0

 

此外,我们还可以用来判断一个整数中某位是否为1(通常是某个标志信息),比如:

x&(1<<n);

 

上面的语句可以用来判断x中第n位是否为1。有时候一个整数通常用某1位或几位置1来表示一个信息,另几位表示另外的信息,这个时候用与运算就可以判断该位是否有该信息。

#define FLAGON(a,n) ((a)&(1<<(n)))//判断整数a中第n位是否为1

< 上一页 与(&)运算 或(|)运算 下一页 >

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注