位和赋值运算符,及优先级


由于上火在处理网络通讯和字符串方面的一些问题,来解决一个程序的一些即将涉及的内容的问题,一不小心时间就不够了,所以今天还是发之前的文章。

一、位运算符
如果您现在阅读后不理解这:位运算符。只要您不急于做硬件开发,就没必要立即理解,建议可以先跳过。
运算符 描述 用法
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中 A&B
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中 A|B
^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中 A^B
~ 二进制补码运算符是一元运算符,具有"翻转"位效果 ~A
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数 A<<B
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数 A>>B
运算符 描述
&= C &= 2 等同于 C = C & 2
|= C |= 2 等同于 C = C | 2
^= C ^= 2 等同于 C = C ^ 2
<<= C <<= 2 等同于 C = C << 2
>>= C >>= 2 等同于 C = C >> 2
六、赋值运算符
运算符 描述
= 之前已经多次用到的等于符号,简单的赋值运算符,把右边操作数的值赋给左边操作数。C=A+B
+= C += A 相当于 C = C + A
-= C -= A 相当于 C = C - A
*= C *= A 相当于 C = C * A
/= C /= A 相当于 C = C / A
%= C %= A 相当于 C = C % A
七、运算符优先级
和数学中一样,C语言中运算符也有优先顺序。优先级越高越先执行。
1 括号后缀 ( ) [ ] -> .
2 一元
(单目)
! ~ ++ -- - (type) * & sizeof
3 乘除 * / %
4 加减 + -
5 位运算 << >>
6 关系
(比较)
< > <= >=
7 相等
(比较)
== !=
8 位运算 &
9 位运算 ^
10 位运算 |
11
(逻辑)
&&
12
(逻辑)
||
13 条件
(三目)
? :
14 赋值 = += -= *= /= %=
<<= >>= &= ^= |=
15 逗号 ,

本文讲到位和赋值运算符,及优先级,如有疑问欢迎加入Q群564998567与我们交流,如有错误恳请在反馈平台www.snang.cc/bgst/3/指出。如果您方便的情况下,请在微信里关注一下上火者公众号吧!。