c语言的复合赋值符。。。 <<= >>= &= ^= |= 分别有什么用啊??拜托了...
发布网友
发布时间:2024-05-08 15:30
我来回答
共3个回答
热心网友
时间:2024-05-29 00:47
在赋值符“=”之前加上其它二目运算符可构成复合赋值符。
如 : +=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。
构成复合赋值表达式的一般形式为: 变量 双目运算符=表达式
它等效于 变量=变量 运算符 表达式
a<<=n(整数):将变量a的值的二进制形式先左移n位(等效于将a二进制值乘以2的n次方),再将所得的值赋给a;
a>>=n(整数):将变量a的值的二进制形式先右移n位(等效于将a二进制值除以2的n次方),再将所得的值赋给a;
a&=n :将a的二进制值与n的二进制值相与(a&&n),将所得赋值给a;
a^= n:将a的二进制值与n的二进制值相异或(a^n),将所得赋值给a;
a|= n:将a的二进制值与n的二进制值相或(a||n),将所得赋值给a;
希望对你有帮助,请采纳~
热心网友
时间:2024-05-29 00:54
<<= 位运算左移
>>= 位运算右移
&= 位运算与
^= 位运算异或
|= 位运算或
热心网友
时间:2024-05-29 00:53
a<<=1;//a左移1位赋值给a
a>>=1;// 右移
a&=1;//a与1按位相与后赋值给a
a^=1;// 异或
a|=1;// 或