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

位运算在软件工程中的运用

< 上一页 常见位运算 宏定义 下一页 >

WINDOWS 驱动编程的WDK库中创建文件的IRP中,有一个Options整数,它的高8位记录了对文件的修改标记。因此可以使用下面的位运算来获取这8位的值:

ulDisposition = (lpIrpStack->Parameters.Create.Options >> 24) & 0xFF;

上面的语句中,先将该整数右移24位,再与0xFF做与运算,即可获得该8位的值。

此外,在实际应用中,会经常使用下面的宏定义来为一个整数设置,清除或者判断某些标志:

#define SETFLAG(a,n)  ((a) |= (1<<(n)))//把整数a中的第n位置为1

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

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

< 上一页 常见位运算 宏定义 下一页 >

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

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

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

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

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