首页 > 其他 > 详细

去n的第一个出现的1

时间:2017-03-28 19:18:42      阅读:132      评论:0      收藏:0      [点我收藏+]

实例十八:去n的第一个出现的1

 

方法:result=n & (n-1)
与实例十七 思路类似。实例十七是不断取1,本例只去最低位。


解释:
n     0000 1111
n-1    0000 1110
&     0000 1110    ----可见把最低位1去掉了

当然,也可以不断循环,把全部1换为0.


代码:

int _tmain(int argc, _TCHAR* argv[])
{
  int n;
  cout<<"请输入数值:";
  cin >> n;
  n = n &(n - 1);
  cout << "去掉最低位1后:" << n;
  system("pause");
return 0;
};

去n的第一个出现的1

原文:http://www.cnblogs.com/gd-luojialin/p/6636061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!