首页
题库
面试
求职
学习
竞赛
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收藏
11347浏览
热门推荐
相关试题
87的100次幂除以7的余数是多少?
数学运算
评论
(35)
来自
搜狐2013校招研发工程...
34的17次方 对6取余, 结果是多少?
数学运算
评论
(43)
来自
人人网2015研发笔试卷E
赛马,至少需要几轮比赛才能得出前三...
产品
运营
数学运算
评论
(8)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题