C语言“ &= |= ”是什么意思?

2024-12-27 03:47:21
推荐回答(5个)
回答1:

&(按位与)双目运算,功能是参与运算的两个数各对应的二进制位相与,只有对应的两个二进制位均为1时,结果为1,否则为0; |(按位或)双目运算,功能是参与运算的两个数各对应的二进制位相或,只有对应的两个二进制位有一个为1时,结果就为1。

“|”表示按位或,按位或运算符“|”是双目运算符。其功能是dao参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。

扩展资料:

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)

合理使用优先级可以极大简化表达式。

参考资料来源:百度百科-C语言运算符

回答2:

1、C语言中的 >>= 意思为:右移后赋值

代码示例为:

x = 8; 

x >>= 3; 

右移后结果为:00000000 00000000 00000000 00000001

2、C语言中的 <<= 意思为:左移后赋值

代码示例为:

x = 8;

x <<= 3; 

左移后赋值结果为:00000000 00000000 00000000 01000000

3、C语言中的 &= 意思为:按位与后赋值

代码示例为:

x = 0x02; 

x &= 0x01; 

按位与后的结果为:0x00

4、C语言中的 ^= 意思为:按位异或后赋值

代码示例为:

x = 0x02; 

x ^= 0x01; 

按位异或的结果为:0x03 等同于0011

5、C语言中的 |= 意思为:按位或后赋值

代码示例为:

x = 0x02; 

x  |= 0x01;

按位或的结果为:0x03 等同于0011

扩展资料:

1、C语言运算符的优先级顺序

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

2、比特右移运算符的位移

比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

参考资料来源:百度百科-C语言

回答3:

&(按位与)双目运算,功能是参与运算的两个数各对应的二进制位相与,只有对应的两个二进制位均为1时,结果为1,否则为0; |(按位或)双目运算,功能是参与运算的两个数各对应的二进制位相或,只有对应的两个二进制位有一个为1时,结果就为1

关于C语言:

1、C语言说到底是一门以内存为中心的编程语言,你能不能学懂它,其实很大程度上不取决于你智商高低,而是你是否拥有扎实的计算机结构、存储、运算原理方面的知识!

2、 在这里,我想强调,任何新知识的学习都是有一定的前提条件的。C语言学习的前提条件就是,对计算机系统要有一个整体的,科学的基础认识。 脱离了这个基础认识,一切都很困难。所以,有些同学学不会C语言,不是因为他们智商不行,而是因为他们没有准备好。

回答4:

简而言之,就是一种电脑编程语言,许多软件都是用它编成~

回答5: