C实现 一个函数返回参数二进制中1的个数(面试题)
来源:互联网 发布:抗氧化 平价精华 知乎 编辑:程序博客网 时间:2024/05/08 00:36
写一个函数返回参数二进制中1的个数
总共有三种方法,逐步优化。。。
方法1、
#include<stdio.h>int main(){int num = 11;int count_one_bits(int num); int count = 0; while(num) { if(num%2 == 1) count++; num = num/2;//二进制向右移一位 } printf("count=%d\n",count); return 0;}
方法2、
#include<stdio.h>int main(){ int num=11; int count_one_bits(int num); int count=0; { int i=0; for (i=0; i<32; i++){ if(num&1 == 1)count++; num = num>>1;//二进制向右移一位}}printf("count=%d\n",count);return 0;}
方法三、
#include<stdio.h>int main(){int num=11;int count_one_bits(int num);int count=0;{while(num){count++;num = num&(num-1);}}printf("count=%d\n",count);return 0;}
此题方法三还可以延伸另一道面试题,下次解读。。
题目如下,大家可以先思考:
判断一个数是不是2^n.
1 0
- C实现 一个函数返回参数二进制中1的个数(面试题)
- C语言实现谷歌面试题:写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中1的个数
- 写一个函数返回参数二进制中1的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中1的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中1的个数
- 写一个函数返回参数二进制中1的个数
- 用一个函数返回参数二进制中1的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 写一个函数返回参数二进制中 1 的个数
- 分享一个Shader学习案例比较多的网址
- Spark2.0的Caused by: java.net.URISyntaxException: Relative path in absolute URI: file错误
- Hibernate 双向配置
- 压力测试
- objdump命令的使用
- C实现 一个函数返回参数二进制中1的个数(面试题)
- 理解Python的With语句
- 【OpenGL】中点圆、椭圆生成算法
- wx-qa
- HTML——标签元素索引
- Cage 是一个 Java 实现的验证码图片生成库,快速、小型和简单。
- Common
- 【杭电】2016 数据的交换输出 正确版(之前题目看错了)
- jquery设置