【学习打卡】第11天 物联网/嵌入式工程师学习笔记11
课程信息
- 课程名称:物联网/嵌入式工程师
- 章节名和曾:第1周之C语言中的位运算符和赋值复合运算符
- 讲师姓名:大白老师
课程内容概述
1. 位运算符
1.1 位运算符
- & 按位与,规则:都1则1, 1零则0
- | 按位或, 规则:-1则1, 都0则0
- ^ 按位异或,规则:相同为0, 不同为1
- ~ 按位取反,规则:1变成0, 0变成1
- << 左移,规则:高位丢弃,低位补0
- >> 右移,规则:向右移动,低位丢弃,高位正数补0,负数补1
1.2 特殊提示
注意:
(1)左移的时候,等价于将这个数据乘以2的n(移动的位)次方
(2)右移的时候,等价于将这个数据除以2的n(移动的位)次方
2. 赋值复合运算符
2.1 赋值复合运算符
- += 加法赋值复合运算符 a+=b 等价于 a = a + b
- -= 减法赋值复合运算符 a-=b 等价于 a = a - b
- *= 乘法赋值复合运算符 a*=b 等价于 a = a * b
- /= 除法赋值复合运算符 a/=b 等价于 a = a / b
- %= 求余赋值复合运算符 a%=b 等价于 a = a % b
- &= 位与赋值复合运算符 a&=b 等价于 a = a & b
- |= 位或赋值复合运算符 a|=b 等价于 a = a | b
- ^= 位异或赋值复合运算符 a^=b 等价于 a = a ^ b
- >>= 位右移赋值复合运算符 a>>=b 等价于 a = a >> b
- <<= 位左移赋值复合运算符 a<<=b 等价于 a = a << b
2.2 赋值复合运算符代码示例
学习心得
位运算符和赋值复合运算符也掌握了,位运算的操作速度比较快,比如如何快速将一个数字扩大2的n次方倍,通过位运算效率是比较高的,再比如不通过第三个数,交换两个数的值通过^运算即可完成,扎实而灵活的掌握基本功,有时会有意想不到的效果。