通过位运算来进行2的幂运算

博客介绍了如何通过位运算判断一个数是否为2的幂。重点在于理解N&(N-1)为0是2的幂的判断条件,该技巧在位运算题目中常见。内容包括题目分析、证明过程,并提及位运算在算法和面试中的重要性。
摘要由CSDN通过智能技术生成

今天给大家分享一道比较简单但是很经典的题目。话不多说,直接看题。

01、题目示例

这道题,大家先想一想是用什么思路进行求解?


第231题:2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例 1:

输入: 1
输出: true
解释: 20 = 1

示例 2:

输入: 16
输出: true
解释: 24 = 16

示例 3:

输入: 218
输出: false

PS:建议大家停留个两分钟先想一想…直接拉下去看题解就没什么意思了。

02、题目分析

这道题是**通过位运算来进行求解的非常典型的题目。**当然,其他的题解也有很多:比如暴力求解,又或者是不停除以2通过递归的方式求解,等等。但是并不是今天我想说的。


先观察一些是2的幂的二进制数:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值