A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陌生爱人 中级黑马   /  2014-10-10 20:55  /  1685 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在一个面试题里看到的 很巧妙 如何快速分辨 一个数是不是2的n次方。

5 个回复

倒序浏览
应该是用位运算吧
回复 使用道具 举报
左移n次,看看死不死0
回复 使用道具 举报
应该是右移2的n次方看是否等于一把
回复 使用道具 举报
有时间复杂度和空间复杂度要求吗?
回复 使用道具 举报
能想到位运算 就基本可以了,  如果X是2的n次方 一定是100000  1后面全是0,然后X-1就一定是(0后面全是1)011111111.       拿X&X-1 如果等于0 那就说明是的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马