23.位运算(位与初级)

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值