操作符分类
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
算数操作符
+ - * / %
1. 除了 % 操作符,其他操作符可以作用于整数和浮点数。
2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。只要有浮点数执行的就是浮点数除法。除数不可为零
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。
移位操作符
<< 左移操作符
>> 右移操作符
注意
移位操作符的操作数只能是整数。移位后本身不变,“a>>”是一个表达式结果
左移操作符
移位规则:
左边抛弃、右边补0
右移操作符
移位规则:
1. 逻辑移位
左边用0填充,右边丢弃
2. 算术移位(编译器一般采用这个)
左边用原该值的符号位填充,右边丢弃
注意
对于移位运算符,不要移动负数位,这个是标准未定义的。
a >> -1不合法
正数右移有除二的效果
位操作符
& 按位与
| 按位或
^ 按位异或
注意
操作数必须是整数
按位与&
有0为0,俩1为1
按位或|
有1为1
按位异或^
相同为1,相反为0