课程名称:物联网/嵌入式工程师
课程章节: C语言中的运算符(位运算符的使用)
主讲老师:大白老师
课程内容:
本次学习的主要内容为位运算符,常见的位运算符有&,|,^,~,<<,>>等,了解了各个运算符的使用,并通过代码进一步加深了对位运算符的理解。
课程收获:
通过本次学习,复习了C语言中基本的位运算符,
&运算符:1 按位与1 结果是1 1 按位与0 结果是0 0按位与0 结果是0 速记:都1则1,1零则0
|运算符:1 按位或0 结果是1 1 按位或1 结果是1 0按位或0 结果是0 速记:一1则1,都0则0
^运算符:相同为0,不同为1
~运算符:1 变成0, 0变成1
<<运算符:无论是正数还是负数,左移都是对应的二进制位向左移动高位丢弃,低位补0 左移的时候,等价于将这个数据乘以2的n(移动的位)次方
>>运算符:逻辑右移(针对无符号数据) 对应的是正数和0,逻辑右移是对应的二进制位向右移动,低位丢弃,高位补0。 算术右移(针对有符号数据): 若是数据为正数,算术右移是对应的二进制位向右移动,低位丢弃,高位补0。 若是数据为负数,算术右移是对应的二进制位向右移动,低位丢弃,高位补1。 速记: 右移,向右移动,低位丢弃,高位正数补0,负数补1