赋值运算符

本文详细介绍了C++中的各种赋值运算符,包括基本的等于赋值、除后赋值、乘后赋值、取余后赋值、加后赋值、减后赋值,以及位操作符如左移、右移、按位与、按位异或和按位或的后赋值形式。还特别提到了右移运算符在不同系统中可能存在的差异以及在实际编程中的应用示例。
摘要由CSDN通过智能技术生成

赋值运算符

  1. “=” 赋值运算符
    变量=表达式 如:a=3;将a的值赋为3
  2. “/=” 除后赋值
    变量/=表达式 如:a/=3;即a=a/3
  3. "= "乘后赋值
    变量*=表达式 如:a*=3;即a=a*3
  4. “%=” 取余后赋值
    变量%=表达式 如:a%=3;即a=a%3
  5. “+=” 加后赋值
    变量+=表达式 如:a+=3;即a=a+3
  6. “-=” 减后赋值
    变量-=表达式 如:a-=3;即a=a-3
  7. “<<=” 左移后赋值
    变量<<=表达式 左移就是将<<左边的数的二进制各位全部左移若干位,<<右边的数指定移动位数,高位丢弃,低位补0, 移几位就相当于乘以2的几次方
  8. “>>=” 右移后赋值
    变量>>=表达式 右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。
    注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
  9. “&=” 按位与后赋值
    变量&=表达式 按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B=true
  10. “^=” 按位异或后赋值
    变量^=表达式 参与运算的两个量按照对应的位进行异或运算,且
    0^0→0, 0^1→1, 1^0→1, 1^1→0
    此外,一个数与0异或仍保持不变,即a^0=a
    一个数与自己异或结果为0,即a^a=0
  11. |= 按位或后赋值
    变量|=表达式 参与运算的两个量按照对应位进行或运算,且0|0→0, 0|1→1, 1|0→1, 1|1→1

注意

  1. 多重赋值表达式不能出现在变量说明中。例如:
    int i=j=0;
    是非法的。
    例:有变量说明
    int a=2,b;
    指出下面表达式运算后a和b的结果。
    b+=b=++a;
    答:a为3,b为6。
    <> 有时将赋值运算与比较运算结合在一起形成嵌入赋值。例如:
    while ((ch=getchar())!=’\n’);
    这条语句的含义是:等待用户按下回车键后程序向下执行。
  2. x = y+8等价于x=x(y+8),不等价于 x = x*y+8。
    同样:z &= y-x等价于z = z & (y-x),而不等价于z = z &y -x。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俺要工作俺想工作

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值