excel做库存管理软件:C语言中的位运算是干什么的?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 00:35:36
我仅知道它们的运算法则,请举例说明它们干什么用,什么时候才用得到它???

通常在遇到BYTE运算问题时要用.

例如GIF image 文件中的"屏幕定义块"中的第5个字节(BYTE) 是 "packed Fields",
最高位1个Bit是有无全局调色盘标志位.
接下来3个Bit是分辩率
接下来1个Bit是调色盘颜色是否安出现频繁程度分过类的标志位.
最低的3个Bit是调色盘颜色表数组大小.

unsigned char packed_Fields;
int flag_G; // 标志位的值
int size; // 颜色表数组大小

// 计算有无全局调色盘标志位的值:
flag_G = (int) ((packed_Fields & 0x80) >> 7);
[用按位与,取出最高位,右移七位到个位数的位置.]

// 如果有全局调色盘,则 计算颜色表数组大小,以便下一步动态分配调色盘RRGGBB数组:
if (flag_G == 1){
size = (int) (packed_Fields & 0x07);
// [用按位与,取出最低的三位]
};

1、右移被二除
2、奇偶校验
3、GA代码链变异
……
还有等等等等我不知道的

在底层编程时用得到吧,特别是对硬件操作的时候。现在的操作系统,以及硬件驱动,都会用到位运算的!高级编程用得就少了吧!~