C语言中的|=和 &=是什么

作者&投稿:陆茅 (若有异议请与网页底部的电邮联系)
嵌入式c语言中 &= ~和|=各是什么意思~

&是按位与(双目运算符,需要2个操作数)
|是按位或(双目运算符)
~是按位非(单目运算符)

1&0=0, 0&1=0, 0&0=0, 1&1=1
1|0=1, 0|1=1, 0|0=0, 1|1=1
~1=0,~0=1

a|=b等价于a=a|b;
同理a&=b等价于a=a&b

所以rINTPND |=BIT_UART0;等价于rINTPND=rINTPND | BIT_UART0
rINTSUBMSK &= ~BIT_SUB_RXD0等价于rINTSUBMSK = rINTSUBMSK &(~BIT_SUB_RXD0)

按位运算就是运算的时候先将操作数换算成二进制数来进行计算
譬如3 & 5就是011 & 101=001

1、C语言里面没有input这个函数。这应该是用户自定的函数,input在英语里面是输入的意思。
2、C语言中一般输入使用的函数是scanf。scanf与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include
。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
函数原型:int
scanf(const
char
*format,...);
函数
scanf()
是从标准输入流stdio
(标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。其调用形式为:
scanf("",);变量地址要求有效,并且与格式说明的次序一致。

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时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为0000000011111111)。
main(){
int a=9,b=5,c;
c=a&b;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}

比如 a&=b;就是a跟b按位与后再把值赋给a

2. 按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下: 00001001|00000101
00001101 (十进制为13)可见9|5=13
main(){
int a=9,b=5,c;
c=a|b;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}

同样: a|=b;就是a跟b按位或后再把值赋给a

||表示或者 &&表示并且
&=表示并且等于
|=表示或者等于




崇左市13756159594: C语言中:&= 与等于,|=或等于,这两个表达式表示啥意思呢? -
令仲康赞:[答案] a&=b; == a=a&b; a|=b; == a=a|b;

崇左市13756159594: 嵌入式c语言中 &= ~和|=各是什么意思 -
令仲康赞: &是按位与(双目运算符,需要2个操作数) |是按位或(双目运算符) ~是按位非(单目运算符)1&0=0, 0&1=0, 0&0=0, 1&1=1 1|0=1, 0|1=1, 0|0=0, 1|1=1 ~1=0,~0=1a|=b等价于a=a|b; 同理a&=b等价于a=a&b所以rINTPND |=BIT_UART0;等价于rINTPND=rINTPND | BIT_UART0 rINTSUBMSK &= ~BIT_SUB_RXD0等价于rINTSUBMSK = rINTSUBMSK &(~BIT_SUB_RXD0)按位运算就是运算的时候先将操作数换算成二进制数来进行计算 譬如3 & 5就是011 & 101=001

崇左市13756159594: C语言中的运算符的&与&& 和 |与||有什么区别,用在什么地方 -
令仲康赞: &和|是位运算.&&和||表示逻辑关系,&&和||表达式最终的值只可能是真(1)或者假(0),而位运算表达式的值不限于0和1 两者在特定情况下的效果是相同的.操作方法如下: 1、首先这里用到字符的ascii码,A的ASCII码为65,之后用scanf...

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

崇左市13756159594: C语言中的符号 & 和 | 是什么意思? -
令仲康赞: &: 在C语言中有两种意思,一种是2113取地址符,是单目运算5261符;另一种是位运算符4102,表示1653“按位与”,是双目运算符.|: 是位运算符,表示“按位或”. 资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符. &:...

崇左市13756159594: c语言中的 ^ & | 都分别是什么意思啊 -
令仲康赞: ^是异或的意思.他的规则是参加运算的两个二进位同号,则结果为0(假),异号则为1(真)即0^0=0,0^1=1,1^0=0,1^1=0;比如00111001(57) (^) 00101010(42) _______________00010011(19) &是与运算,如果两个都是1,则结果是1,否...

崇左市13756159594: C语言中&是什么意思 -
令仲康赞: 1. "按位与" 运算符. 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果位才为1 ,否则为0.参与运算的数以补码方式出现. 例如:9&5可写算式如下: 00001001 (9的二进...

崇左市13756159594: c语言中符号&,|,^是什么意思?例如x=a&b,x=a|b,x=a^b分别是什么意思? -
令仲康赞: &与,|或,^异或 这些运算都是二进制运算 例:a=7 , b=10 x=a&b = 2(bit0111&bit1010 = bit0010 ); x=a|b = 15(bit0111|bit1010 = bit1111 ); x=a^b = 13(bit0111^bit1010 = bit1101 );

崇左市13756159594: AT89S52单片机C语言程序中的 |= 和 &=~ 什么意思?0x01 等等 这些地址能否给予讲解?我新手 -
令仲康赞: 通过语句回答你吧 P2|=0x01 写完整了就是P2= P2|0x01 也就是将P2的最低位(P2.0位)置高电平 通过硬件电路你会发现 P2.0置高电平应该就可以实现Me向东移动其他的也是同样P2&=~0x01 写完整了就是P2 = P2&(~0x01) = P2&0xfe 也就是将P2的最低位(P2.0位)置低电平 通过硬件电路你会发现 P2.0置低电平应该就可以实现Qe停止向东移动 其他的也是同样这样说还能理解 有问题你再联系我

崇左市13756159594: c语言中的*与&是什么意思? -
令仲康赞: *是指针运算,&是取地址.*后面必须是指针变量,&后面则什么变量都可以(除了常数).c语言C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网