社区
C语言
帖子详情
10个开关,打算用一个unsign short 来表示如何判断只有一个开?
nobody@noone
2009-09-24 10:49:43
1一个unsign short有16位,可以满足10个开关
10个开关用二进制表示就是 000000 0000000000前6位备用
然后1表示开,0表示关
现在有一个问题,这些开关都无联系性,如何才能判断只有1个开?
我现在只有一个笨办法,就是一一和0000000001,0000000010,0000000100对比,但是这样要比10次,好像不太好
有什么更好的办法没?
...全文
68
4
打赏
收藏
10个开关,打算用一个unsign short 来表示如何判断只有一个开?
1一个unsign short有16位,可以满足10个开关 10个开关用二进制表示就是 000000 0000000000前6位备用 然后1表示开,0表示关 现在有一个问题,这些开关都无联系性,如何才能判断只有1个开? 我现在只有一个笨办法,就是一一和0000000001,0000000010,0000000100对比,但是这样要比10次,好像不太好 有什么更好的办法没?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lijian22500
2009-09-24
打赏
举报
回复
[Quote=引用 1 楼 tianyixiang 的回复:]
unsign short nValue;
(nValue&(nValue - 1)) == 0
[/Quote]
学习了
whg01
2009-09-24
打赏
举报
回复
1楼正解,结贴吧。
liao05050075
2009-09-24
打赏
举报
回复
楼上是对的。
其实就是判断一个数是不是2的幂。很经典的位运算的应用
TianYiXiang
2009-09-24
打赏
举报
回复
unsign short nValue;
(nValue&(nValue - 1)) == 0
Python库 | flask_un
sign
_wordlist-0.0.5-py2.py3-none-any.whl
python库,解压后可用。 资源全名:flask_un
sign
_wordlist-0.0.5-py2.py3-none-any.whl
Java_Build0154_Un
sign
QQ2010_Java_Build0154_Un
sign
e
sign
_4.7.0_un
sign
.ipa
e
sign
_4.7.0_un
sign
.ipa
Run播放器完美版_S60v5_Un
Sign
Run播放器完美版_S60v5_Un
Sign
轻松签e
sign
_4.6.4_un
sign
2.ipa
轻松签e
sign
_4.6.4_un
sign
2.ipa
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章