您的位置:首页 > 职场人生

剑指offer 面试题10

2018-03-03 22:38 351 查看
4000

面试题10;二进制中1 的个数题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数,例如把9表示成1001,有2位是1。因此如果输入9,该函数输出2. 如果使用除法效率会很低,因此我们使用位运算。代码如下:#include<stdio.h> int NumberFind1(int n){    int count=0;    while(n)    {       if(n & 1)       {           count ++;       }       n=n >> 1;    }    return count;} int main(){    int n=9;    int a=NumberFind1(n);    printf("%d   \n",a);     return 0;}执行结果如下: 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: