【C语言/C++】操作符详解(一)

1、引言

今天学习的内容是C语言中的操作符

2、操作符分类

2.1、算数操作符

1、算数操作符中的“%”的左右两端必须是整数,求得的是余数。余数的范围是1~被除数
2、算数操作符中的“/”,求得的是两数相除的商,当“/”除号的两端都是整数的时候,执行的是整数的除法,两段只要有一个是浮点数,执行的就是浮点数除法(即当10/3=3;10/3.0=3.3333无限循环)。

2.2、移位操作符

移位操作符的操作对象只能是整数

1、左移操作符,把a在内存中存储的二进制补码向左移动两位(即把a的补码向左移动两位),左边抛弃,右边补0

int main()
{
   
   int a = 5;
   int b = a<<2;
   printf("%d\n",b);
   return 0;
}

2、右移操作符:
Ⅰ、算数右移:(右边丢弃,左边补原来的符号位)
Ⅱ、逻辑右移:(右边丢弃,左边补0)
tips:到底是算数右移动,还是逻辑右移,具体要看编译器,常见的编译器都是算数右移动

2.3、位操作符

位操作符操作对象只能是整数

1、& – 按(2进制)位与:
在这里插入图片描述
2、| – 按(2进制)位或:
在这里插入图片描述
3、^ – 按(2进制)位异或
在这里插入图片描述
Tips:
1、任何数字和 0 异或都是它本身
2、两个相同的数字异或得到的结果是 0

2.4、复合赋值操作符

1、+= / -= (加等/减等)
例如a+=10可以看做 a=a+10,a-=10可以看做a=a-10
2、这些复合操作符的本质就是将两个操作符的功能叠加起来

2.5、单目操作符

1、!逻辑反操作
2、& 取地址操作符
3、sizeof 操作数的类型长度(以字节为单位)
4、~ 对一个数的二进制按位取反(用法如下)

int main()
{
   
   int a = 0;
   // ~ 按(内存中补码的2进制)位取反
   printf("%d\n", ~a);
   return 0;
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值