【发布时间】:2020-08-07 17:07:52
【问题描述】:
我正在做这个练习:https://www.hackerrank.com/challenges/30-binary-numbers/problem,我在网上找到了这个“智能”代码,但我不明白 n&1 和 n>>=1 的条件在这里做什么。
//C++ program to convert a decimal
// number to binary number
#include <iostream>
using namespace std;
int main()
{
int n,count=0,max=0;
cin >> n;
while(n)
{
if (n&1)
count++;
else
count = 0;
if (max < count)
max = count;
n>>=1;
}
cout << max;
return 0;
}
【问题讨论】:
-
很抱歉成为那个人,但重复了 stackoverflow.com/questions/38922606/what-is-x-1-and-x-1 编辑:@t.niese 在我之前得到了它:)
-
他们是运营商。
-
您不应使用hackerrank 或类似网站来学习编程语言。相反,您应该考虑使用良好的book 来学习该语言的基础知识。