去n的第一个出现的1

Posted _拥你一生,如沐星辰_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去n的第一个出现的1相关的知识,希望对你有一定的参考价值。

实例十八:去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的主要内容,如果未能解决你的问题,请参考以下文章

将一个向量交错和去交错成两个新向量

在循环中替换每一个大行中的第 n 个出现

[leetcode] 41. 缺失的第一个正数

编写你的第一个程序(HelloWorld)

【R去重】 保留第一个重复/去所有的重复

每个字符串每出现第 2 次,分别用文件的第 n 行替换两个不同的字符串