《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习2——位操作

位操作有哪些?

按位与&、 按位或|、 按位异或^、 按位取反~、 左移、 右移

位操作重要吗?

底层驱动基本上都是用C编写的,驱动之所以能操作硬件,是因为能实现对寄存器的控制,而控制寄存器,必须通过位操作的运算才能实现

按位取反(~)和非(!)得区别

非(!):如果非0则结果为0,如果为0则结果是1

置位和复位的宏定义

#define SET_BIT_N(x,n) ((x) | (1<<((n)-1)))
#define CLR_BIT_N(x,n) ((x) & ~(1<<((n)-1)))
发布了38 篇原创文章 · 获赞 17 · 访问量 4319

猜你喜欢

转载自blog.csdn.net/qq_14877637/article/details/86936860