この質問はインタビューで尋ねられたものですが、次のコードが何をするのか誰か教えていただけますか? 150 の場合は 15、160 の場合は 3、15 の場合は 15 という出力が得られます。「n」に対して実行される数学演算は何ですか。
int foo(int n)
{
int t,count=0;
t=n;
while(n)
{
count=count+1;
n=(n-1)&t;
}
return count;
}