盐城建设局网站,淄博学校网站建设定制,做公司网站详细步骤,关键词在线试听编写一个函数#xff0c;获取一个正整数的二进制形式并返回其二进制表达式中设置位的个数#xff08;也被称为汉明重量#xff09;。
示例 1#xff1a;
输入#xff1a;n 11
输出#xff1a;3
解释#xff1a;输入的二进制串 1011 中#xff0c;共有 3 个设置位。示…编写一个函数获取一个正整数的二进制形式并返回其二进制表达式中设置位的个数也被称为汉明重量。
示例 1
输入n 11
输出3
解释输入的二进制串 1011 中共有 3 个设置位。示例 2
输入n 128
输出1
解释输入的二进制串 10000000 中共有 1 个设置位。示例 3
输入n 2147483645
输出30
解释输入的二进制串 11111111111111111111111111111101 中共有 30 个设置位。思路将n的每一位与1相与与1得1与0得0然后将每次的相加。
#include stdio.hint hammingWeight(int n)
{int num 0;for(int i 0;i 32;i){num ((n(1i))i);//先将1左移i位再与n的i位相与后再右移i位}return num;
}
int main()
{int n 52;hammingWeight(n);printf(%d\n,hammingWeight(n));return 0;
}