C语言中的位运算是干什么的?

我仅知道它们的运算法则,请举例说明它们干什么用,什么时候才用得到它???

通常在遇到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个回答  2006-02-22
在底层编程时用得到吧,特别是对硬件操作的时候。现在的操作系统,以及硬件驱动,都会用到位运算的!高级编程用得就少了吧!~
第2个回答  2006-02-22
1、右移被二除
2、奇偶校验
3、GA代码链变异
……
还有等等等等我不知道的

c语言位运算
C语言中的位运算符用于操作二进制位。这些运算符直接对整数的二进制位进行操作,是低级语言操作的重要组成部分。它们对于优化程序性能、实现特定功能非常关键。具体的位运算符 1. 位移运算符:这两个运算符用于将二进制位向左或向右移动指定的位数。例如,`x << 2`表示将x的二进制表示向左移动两位,...

C语言——位运算
C语言中,位运算是一种独特且强大的功能,它直接作用于二进制位级,对数据进行操作。位运算符包括按位取反(~)、左移(<>)、按位与(&)、按位或(|)和按位异或(^)。以下是这些运算符的简介和示例:1. 按位取反(~):单目运算符,将运算数所有位取反,如无符号字符a=18,~a的结果...

C语言位运算
C语言中的位运算符是编程中的重要工具,包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)和右移(>>)。这些运算符允许我们对二进制位进行精细的操作,以实现高效的编码和逻辑处理。以下是这些运算符的具体应用:1. 按位与(&):这个运算符使两个数对应位只有在同时为1时结果才...

c语言中&0x01是什么意思?
在C语言中,位运算是一种基于二进制位进行的操作。这种运算直接对内存中的二进制位进行操作,非常底层和高效。常见的位运算有移位操作、与、或、非、异或。二、&操作符的解释 在C语言中,&操作符用于执行位与运算。当两个操作数的对应位都为1时,结果的对应位才为1,否则为0。这种操作常用于二进制...

C语言——位运算
对带符号数进行位运算。按位或运算符对无符号数进行逻辑或运算,对带符号数进行位或运算。按位异或运算符对无符号数进行逻辑异或运算,对带符号数进行位异或运算。通过这些位运算,程序员可以高效地执行操作,特别是对于位级上的数据处理。它们在算法、加密和位级优化中应用广泛。

C语言 ~(~0<<4)什么意思
C语言中的位运算符~(~0<<4)是一个右移运算,用于处理二进制位的移动。具体来说,它执行以下操作:右移运算符(<<)是一个将二进制位向左移动指定位数的操作。在这个表达式中,~0是一个特殊的二进制数,它的二进制形式是全1(即-1的按位非),然后通过右移4位(<<4)进行操作。这意味着原...

C语言位运算符
在C语言的世界里,位操作符是程序员手中不可或缺的工具,它们犹如二进制代码中的魔术师,对整型数据(char, short, int, long)的底层位进行精细操控。这里有六位小能手,它们分别是:1. 按位与(&): 仿佛是两位二进制数的亲密对话,只有当两个对应位都是1时,结果才会亮起1的灯。它在清零和取...

C语言位运算
一、位运算符C语言提供了六种位运算符:& 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:9...

C语言中的位运算有什么优点?
位运算主要是直接操控二进制时使用 ,主要目的是节约内存,使你的程序速度更快,还有就是对内存要求苛刻的地方使用,以下是一牛人总结的方法,分享一下:位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,...

c语言中|=是什么意思
在C语言中,"|="是一个复合赋值运算符,表示“位或赋值”。详细解释如下:一、理解位运算符“|”在C语言中,"|"是一个位运算符,用于执行二进制位之间的逻辑或操作。如果两个相应的二进制位中有一个为1,则结果的相应位就为1。这种操作在计算机内部非常常见,因为计算机使用二进制来表示所有的信息...

相似回答