您好,登錄后才能下訂單哦!
在c語言中有三種求解一個數1的個數的方法
將整數每次右移一位的方式
int Numble(int n)
{
int count = 0;
while (n)
{
if (n & 1 == 1)
count++;
n = n >> 1;
}
return count;
}
但這種方法存在的不足是,當這個整數是負數的時候,將無限循環
使整數與1進行與運算,1每次左移一位
int Numble(int n)
{
int count = 0;
int flag = 1;
while (flag&n)
{
count++;
flag = flag << 1;
}
return count;
}
整數減1在與這個整數相與
int Numble(int n)
{
int count = 0;
while (n)
{
count++;
n = n&(n - 1);
}
return count;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。