任给一个int类型的正整数,如何判断该整数的值,是否是2的整数次幂?(考虑该种数的二进制特点)
1条回答 默认 最新
- 偷窃月亮的贼 2021-09-11 21:10关注
是这样的,可以通过位运算比较快速的算出来结果:
/** * 判断 data 是不是2的整数次幂 * * @param data 要判断的数 * @return 如果是,则返回true,否则返回false */ public static boolean isPowerOf2(int data) { int tmp = 2; while (tmp <= data) { tmp <<= 1; if (tmp == data) { return true; } } return false; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 酬劳2w元求合作写文章
- ¥15 在现有系统基础上增加功能
- ¥15 远程桌面文档内容复制粘贴,格式会变化
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图