朱有鹏:位运算实战演练

发布时间 2023-03-24 18:34:37作者: 悟透

约定: 题目中出现"设置"字符就是要把寄存器设置为1;出现”清除“ 就是把寄存器值设置为0

位操作口诀:  要置1用|;

        要清零用&;

        要取反用^;

        ~和 << >> 用来构建特定二进制数.

 

4.2.4.1 给定一个整型a, 设置a的bit3,保证其他位不变。

答: a = a | (1<<3)  或   a |= (1<<3)

 

4.2.4.2 给定一个整型a, 设置a的bit3~bit7(3~7位为1),保证其他位不变。

答: a = a | (0b11111<<3)

#include <stdio.h>

int main(void)
{
    unsigned int a;
    a = 0;
    printf("a = 0x%x\n", a);
    a |= (0b11111<<3);
    printf("a = 0x%x\n", a);
}

  

 

 

4.2.4.3

 

4.2.4.4

 

4.2.4.5

 

4.2.4.6

 

4.2.4.7

 

4.2.4.8

 

 

 

来源:

朱有鹏-嵌入式软件工程师完全学习路线图专题\4.C语言高级专题精讲视频课程套餐\4.2.C语言位操作\

4.2.4.位运算实战演练1.mp4

4.2.5.位运算实战演练2.mp4