关于位运算几道经典题目

本文记录了几个有趣的位运算题目,包括寻找整型数组中出现一次的整数、计算二进制中1的个数、判断是否为2的幂、判断是否为4的幂以及确定数是否为3的幂。通过异或、与运算等位操作解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前就和同学讨论过几道位运算的题目,觉得挺有意思的,就记录一波。
这样坐着敲字总让我想起在出租房里百无聊赖的日子、
题目一:
single number 问题
整型数组中只有一个整数只出现了一次,其他整数都出现了两次,找出出现一次的这个整数,并返回。
异或运算
利用异或运算整型数自身与自身异或为0的特点。

int singleNum(int[] arr){
    int res = arr[0];
    for(int i=1;i<arr.length;i++){
        res=res^arr[i];
    }
    return res;
}

题目二:一个十进制数的二进制形式中1的个数
与运算
利用与运算0&1=0,不断将一个非零数不断将二进制形式中的1置于0

int get_one_num(in
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值