首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请选一个表达式,用于判断一个INT32整数n不是2的幂。该表
[单选题]
请选一个表达式,用于判断一个INT32整数n不是2的幂。该表达式在n是2的幂的时候返回true,其他时候返回false。
(n&(n-1))==0
(n&(n+1))==0
n%2==0
(n&(n+1))%2==0
查看答案及解析
添加笔记
邀请回答
收藏(423)
分享
10个回答
添加回答
19
推荐
Sneezry.Lee
A
最高位是1,其他位全是0的数就是2的幂,保证低位全是0的条件是A
编辑于 2015-02-02 21:37:51
回复(1)
1
MilletPPP
n如果是2的幂,举个例子(16这个数的二进制):10000。
那么n-1(15这个数)就是:01111。
两者相与就是00000。
发表于 2018-03-24 13:05:37
回复(0)
9
姚秀强
A 举个例子:只要是2的幂的话就假设: 00001000 这表示一个8位的二进制数(十进制为8),当n-1时
二进制为: 00000111,与 n进行 与 运算得0。
发表于 2015-05-26 08:45:14
回复(0)
4
xd321
如果一个数是2的k次方,那么这个数用二进制表示时其最高位为1,其余位为0,n&(n-1)相与结果使得n的二进制表示中最右边的1变为0,因此如果n是2的整数次幂,则有A成立,注意A中运算符的优先级。
发表于 2016-06-19 10:16:20
回复(0)
1
字节跳动-算法工程师
i & (i - 1) 作用:去掉i的二进制中最后一个1,既然是幂次,那结果自然选A
发表于 2019-09-11 16:56:23
回复(0)
1
kimiparker
举个例子,比如a=2时,只有A对
发表于 2017-05-01 15:17:44
回复(0)
1
OrangeLuyao
a 归纳一下就好
发表于 2017-04-10 15:33:23
回复(0)
0
邓文达
模运算,选C
发表于 2018-01-25 21:48:23
回复(1)
0
唯舞独尊
举例6和8
发表于 2015-07-14 22:20:19
回复(0)
0
阿金
A 保证低位为0
发表于 2015-04-02 13:12:27
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数学运算
上传者:
小海豹
难度:
10条回答
423收藏
11345浏览
热门推荐
相关试题
34的17次方 对6取余, 结果是多少?
数学运算
评论
(43)
来自
人人网2015研发笔试卷E
赛马,至少需要几轮比赛才能得出前三...
产品
运营
数学运算
评论
(8)
87的100次幂除以7的余数是多少?
数学运算
评论
(35)
来自
搜狐2013校招研发工程...
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题