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)
合理使用优先级可以极大简化表达式。

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

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



PRT2DR = PRT2DR | 0x80;
的意思

C语言中|=什么意思
答:1.模运算,即求余数。表达式 a % b 就是计算 a 除以 b 得出的余数。例如: 4 % 3 的结果是 1 2.转义符,比如在scanf()和printf()中的输入参数常出现带有%的表示参数类型的变量,如%d,%f等。

c语言中|=是什么意思
答:“|”表示按位或,按位或运算符“|”是双目运算符。其功能是dao参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。相关如下 C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,...

c语言中 |= 是什么意思啊。 不是!=哦。
答:是符合运算 ,是先按位或,在赋值,比如 a|=b 就是 a=a|b

C语言中|=什么意思?
答:这是位操作运算符,a |= b; 相当于a = a|b;如果a的001,b为010,则a = 011.

C语言中的“|=”是什么意思
答:|=用于给一个变量指定位 置1.比如要把一个整型变量i的3-8位 置1.那么.i|=0x00F8;这个在windows程序中使用较少.在单片机编程等硬件编程中使用多,用于改变端口发送.

单片机C语言中|=什么意思?
答:|是一中运算,名称叫做“或”,计算方法是对两个数的二进制进行运算,例如3|5的结果是7|=是赋值运算,例如a|=7语句的意思就是a=a|7

C语言中 |= 是什么意思
答:按位或,再赋值,相当于+=.eg:a = (00100)(二进)。a |= (00011)(二进)后,a的值为00111(二进)

C语言中的 |= 是什么意思?
答:x |= y 等价于 x = x | y 先或运算 再赋值 会改变x的值 操作数不会改变

C语言 &= |= 都是什么意思?
答:关于C语言:1、C语言说到底是一门以内存为中心的编程语言,你能不能学懂它,其实很大程度上不取决于你智商高低,而是你是否拥有扎实的计算机结构、存储、运算原理方面的知识!2、 在这里,我想强调,任何新知识的学习都是有一定的前提条件的。C语言学习的前提条件就是,对计算机系统要有一个整体的,...

C语言中“|=”是什么意思
答:是或运算,和&差不多,就是按位或 例如:include<stdio.h> int main(){ int a = 3; //a 二进制11 a |= 5; // a= a | 5; 二进制101 按位或后是111 printf("%d",a); //所以输出结果是7 return 0;} ...