1:位运算的定义:
位与运算符是一个二元的位运算符,也就是有两个操作数,表示为x & y。
1.位与运算简单应用1:奇数偶数判断
解释:0b表示二进制格式。
if ((a & 0b1) == 0)
{
Debug.Log("a是偶数");
}
注解:二进制偶数最后一位为0,奇数为1。
int ruselt = a & 0b11111;
2.取二进制末5位,可以理解为其位删除,只保存后5位
解释:假设变量a用二进制表示:1010101010&11111
可以理解为1010101010&0000011111=结果1010。
int ruselt = a & 0b1111111111111111111111111100000;
3.消除二进制末5位
可以理解为其他位保留,将后5位变成0
只需a&其他位为1。后5位为0
if ((a & (a - 1)) == 0)
{
Debug.Log("a是2的幂");
}
4.判断一个二进制数,是否是2的幂
注解:如果一个二进制数是2的幂 拿它的位数就有N个0。
其n-1就是01111111如果与其原本只进行位与运算 其结果为0.