博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写一个函数返回参数二进制中 1 的个数
阅读量:5991 次
发布时间:2019-06-20

本文共 535 字,大约阅读时间需要 1 分钟。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<stdlib.h>
Fun1(int a) //用移位的方法
{
int i = 0;
int count1 = 0;
for (i = 0; i < 32; i++)
{
if ((a>>i)&1==1)
{
count1++;
}
}
return count1;
}
Fun2(int a) //用n&(n-1)的方法 循环了几次就有几个1
{
int count2 = 0;
while (a)
{
a=a&(a - 1);
count2++;
}
return count2;
}
int main()
{
int a = 0;
printf("请输入一个二进制数\n");
scanf("%d", &a);
int count1 = Fun1(a);
printf("%d\n", count1);
int count2 = Fun2(a);
printf("%d\n", count2);
system("pause");
return 0;
}

转载于:https://blog.51cto.com/14239789/2377431

你可能感兴趣的文章
我所理解的执行力
查看>>
数据库分库/分表/读写分离
查看>>
java锁对象
查看>>
解决RaycastTarget勾选过多的烦恼
查看>>
生成apk文件遇到的编译问题error: format not a string literal and no format arguments
查看>>
64位的centos6.9的vnc-sever的安装及桌面环境安装
查看>>
vue - 前置工作
查看>>
Scala中_(下划线)的常见用法
查看>>
DELPHI的美化插件VCLskin5.6下载(支持DELPHI2010,含233种皮肤和皮肤制作.
查看>>
jQuery之事件
查看>>
FreeFileSync 4.2 — LinuxTOY
查看>>
源代码阅读利器:Source Navigator — LinuxTOY
查看>>
URL中特殊字符的含义
查看>>
Android Ap 开发 设计模式第五篇:单件模式
查看>>
xcode 4 制作静态库
查看>>
python
查看>>
W5500问题集锦(持续更新中)
查看>>
常见算法:C语言求最小公倍数和最大公约数三种算法
查看>>
lambda显式声明返回值
查看>>
文件字符编码
查看>>