c语言中|=是什么意思

作者&投稿:有凭 (若有异议请与网页底部的电邮联系)
C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明~

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语言

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

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

相关如下

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

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

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

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



“&&”表示 与,意为同时都要满足。“||”表示 或,意为二者或多着只要满足其中一个。

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

相关如下

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

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

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c),合理使用优先级可以极大简化表达式。



这是C语言的逻辑运算符:逻辑或 逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。 逻辑运算符有4个,它们分别是: !(逻辑非)、||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。 什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。 例1:通常一个教室有二个门,这二个门是并排的。要进教室从门A进可以,从门B进教室也行,用一句话来说是“要进教室去,可以从A门进‘或者’从B门进” 用逻辑符号来表示这一个过程--能否进教室用符号C表示,教室门分别为A和B。C的值为1表示可以进教室,为0 表示进不了教室。A和B的值为1时表示门是开的,为0表示门是关着的,列表如下: 说明C A B 2个教室的门都关着,进不去教室 0 0 0 门B是开着的,可以进去 1 0 1 门A是开着的,可以进去 1 1 0 门A和B都是开着的,可以进去 1 1 1 把表中的过程写成逻辑运算就是: C = A || B 这就是一个逻辑表达式,它是一个“或”运算的逻辑表达式。这个表达式要表达的是这个意思--如果要使得C为1,只要 A“或”B其中之一为 1即可以达到。所以“||”运算称为“或”运算。

按位或,0x80的二进制为10000000。PRT2DR
|=0X80可换成:
PRT2DR=PRT2DR
|
0X80,也就是一个或运算,分别把PRT2DR变量的值和0X80转换为二进制,进行按位或运算,结果赋给PRT2DR这个变量。

按位或,0x80即10000000;PRT2DR这个变量与0x80按位或,假如PRT2DR的8位是abcdefgh,执行这句话后就变成1bcdefgh了,即把PRT2DR的最高位变为1,其余不变。

c语言中|=是什么意思
答:按位或,0x80即10000000;PRT2DR这个变量与0x80按位或,假如PRT2DR的8位是abcdefgh,执行这句话后就变成1bcdefgh了,即把PRT2DR的最高位变为1,其余不变。

C语言中的符号 & 和 | 是什么意思?
答:&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符。&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 & 1011 = 1010...

C语言中:&&和||符号是什么意思?
答:“&&”表示 与,意为同时都要满足。“||”表示 或,意为二者或多着只要满足其中一个。在C语言中,&&和||都属于逻辑运算符,并且都是双目运算符。逻辑运算符总共有3个,分别是"&&"、"||"和"!"。a && b,一假必假,结合性从左至右。||是逻辑或运算符,a || b,一真必真,结合性从左...

c语言中的“=”是什么意思?
答:“=”是赋值符,把c的值赋给b赋给a,最后a、b、c的值都相等,“==”是判断符;=赋值==等于运算说a=b=c,表达式运行a值赋给b、c运行完abc值相等;a=b==c,复合表达式先a值赋给b与c比较相等则返0,否则返非零值;运算b==c,若b与c相等,那么得出的值为1。

C语言中+=和-=是什么意思
答:+=:加法赋值运算符,将运算符前面的变量加上后面的值再赋值给前面的变量。-=:减法赋值运算符,将运算符前面的变量减去后面的值再赋值给前面的变量。比如:a+=b; //等价于a=a+ba-=b; //等价于a=a-b

c语言中的 | 是什么意思
答:自左至右运算的双目运算符(有两个元素参与运算的运算符),叫做按位或!比如101|110的结果为:111。即5|6=7.所以上题结果用二进制表示就是111,用10进制表示就是7.(注意,在做此运算时先化成二进制在运算)

请问C语言中 | 的意思是什么
答:C语言中一个| 是“位或”的意思,即按位取或,例如 对11010和10101 位或后为11111

c语言中的|| 什么意思
答:这个是“或”的意思,还有一个功能类似的符号“|”,其区别如下:1.if(a==1|b==2)程序执行时,即使a==1为真,即括号内的命题为真,也仍然会检测b==2的真假;2.if(a==1||b==2)程序执行时,如果a==1为真,即括号内的命题为真,则不会检测b==2的真假。根据这个区别,一般而言,使用...

c语言中/ 和/=是什么意思
答:/ 和/=都是除,不同的是如下例:/ : 10/5(=2)/=: x/=2(等价于x=x/2)

C语言中 +=,-=,/=,*= 分别是什么意思
答:+=是C语言中的一种复合赋值运算符,a+=b 等价于 a=a+b,是后者的一种简化性写法,并且,其优先级(即:同一个表达式中存在多种运算符时,不同运算符之间的运算顺序)与 =相同。类似的还有 +=,*=,/= 。都具有相同形式的用法。+=的意思就是把左边的第一个符号移到右边,其实就是b = b+...