为什么C语言能进行位(bit)操作?

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:46:06
为什么C语言能进行位(bit)操作?进行位操作有什么好处?

在编程时,有时要为程序定义很多bool型变量
比如:
struct XX{
bool bReady,bLoaded,bRender,bShow;
};
这样很罗嗦,我们换一种方法:1个32位的long型变量 本身可以代表32个bool型
我们先定义
#define FLAG_READY 0x0001
#define FLAG_SHOW 0x0002
#define FLAG_LOADED 0x0004
这样
再搞一个 long Flag;变量
设置和取消该标志位用 Flag|=FLAG_SHOW 和 Flag&=~FLAG_SHOW
判断使用 if (Flag & FLAG_SHOW) {...}
比以前的方便,而且Microsoft 的函数API很多都是这种方式

在进行底层数据传输, 或者做加密解密,压缩解压等处理的时候,也会用到。

C语言是一个比较接近机器的语言.
它之所以能进行位操作,是因为它是这样设计的:p
进行位操作可以节省空间,好的程序还可以利用它大大地提高速度.