目录
操作符分类
1.算术操作符 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 6.关系操作符 7.逻辑操作符 8.条件操作符 9.逗号表达式 10.下标引用、函数调用和结构成员
1.算术操作符
1)除了
%
操作符之外,其他的几个操作符可以作用于整数和浮点数。
2) 对于
/
操作符如果两个操作数都为
整数
,执行
整数除法
。而只要有
浮点数
执行的就是
浮点数除法
。
3)
% 操作符的两个操作数必须为整数
。返回的是整除之后的
余数
。
2.移位操作符
移位操作符,移动的是
二进制位
,因为整数在内存中存储的是补码,所以移动的是内存中存储的补码。
左移操作符和右移操作符只对整数进行操作,不能对浮点数进行操作。
1)左移操作符
移位规则: 左边抛弃、右边补0。
代码运行结果是:
a并没有被改变,打印的结果仍是7。
当a=-7时,b等于多少?
代码运行结果是:
2)右移操作符
移位规则: 首先右移运算分两种:
1. 逻辑移位:左边用0填充,右边丢弃
2. 算术移位:左边用原该值的符号位填充,右边丢弃
运行结果是:
当a为负数,即a=-7时,b等于多少?
由此可知,编译器使用的是算术移位的方法。(一般编译器采用的算术移位)
注:
对于移位运算符,不要移动
负数位
,这个是标准未定义的。
例如: