首页 > 代码库 > 位运算

位运算

1.

判断一个int型变量a是奇数还是偶数

if((a&1) == 1) //奇数

 

2.

判断一个正整数是不是2的幂

if(a&(a-1) == 0) //是

 

3.

特定位取反

对前4位取反,则 a^15

 

4.

位段是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。

对于一个位段,必须存储在同一个字节中,不能跨字节存储。

其中位段名不是必须的,也就是说,可以没有为短命,直接用:位段长度这种方式即可。

这时这个位段是不可以使用的,这样的位段可以用来调整、填充,以避免跨字节的问题。

 

位段在嵌入式设计中有很广泛的应用,在很多对内存、CPU的运算速度等有很高要求,同时又对一些事件的响应速度有很高的要求时经常会用到