目录
操作符分类
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等于多少?
由此可知,编译器使用的是算术移位的方法。(一般编译器采用的算术移位)
注:
对于移位运算符,不要移动负数位,这个是标准未定义的。
例如: