C语言常用运算符--总结

1、算术操作运算

**+、- :**注意左右运算类型一致
** *、/ :**避免使用乘除运算符,CPU不一定支持,可能需要多个周期进行运算
**%:**取余

 ` n % m = res [0 -  m-1]  //范围在0至m-1`

常用的三个场景:
1、取一个范围数:
eg: 给一个任意的数字,得到一个1-100以内的数字?
(m%100)+1=====>res;
2、得到M进制 的一个个位数
3、循环数据结构的下标,数值n的增加,对于被除数m,会出现循环的余数

2、逻辑运算

真、假: 返回结果1或0
a、|| 或(前后关系不能交换) && 与
b、>大于、 >=大于等于、 < 小于、<=小于等于
c、!逻辑取反
d、条件? 表达式1:表达式2,条件为真执行1,反之执行2

3、位运算

a、<<:左移 乘以2eg: m<<1; //m*2 int a = b*32; ===⇒ b <<5、左移补0
注:11111111 ====== -1

b、>>: 右移 除以2 符号变量有关,负数右移因为最高位符号位,不可以右移到0

c、&: 与屏蔽

` int  a = 0x1234 ;
 	a=& 0xff00 //取出高8bit, 屏蔽低8bit`

A&1 —>A :取出
&:清零器 clr
|: 或
A|0 ==A
保留
A|1 ==1
设置为高电平的方法,设置set

设置一个资源的bit5为高电平,其他位不变

int a;
a = a| (0x1<<5);

清除第五位

int a;
a = a& -(0x1<<5);

d、^:异或 交换数值

int fun()
{
int a = 20;
int b = 30;
a  = a^b;
b  = a^b;
a = a^b;
} // out a = 30 ; b =20

e ~:取反 数值取反

4、赋值运算

= 、|=、 &=: a=a+b==a+=b// a=a|(0x1<<5)==a|=(0x1<<5)

5、内存访问符号

():限制符,优先运算;函数访问功能 int fun(); fun();
[]: 数组;内存访问的ID符号
{}:函数体的限制符
->: 地址访问
.:变量访问
&:&p取地址;&10与运算
*: *p指针; *10乘法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值