开始想到的方法是,用取余2除以2循环计数的方法求出参数二进制中1的个数:

#include <stdio.h>
int count_one_bits(unsigned int x)
{int i = 0,n = 0;while(x != 0){i = x%2;if(i == 1){n++;}x /= 2;}return n;
}
int main()
{unsigned int x = 0;int n;printf("请输入一个十进制数:");scanf("%d",&x);n=count_one_bits(x);printf("%d个1\n",n);system("pause");return 0;
}

仔细思考之后,在判断二进制数中每一位是否为1的时候,可以给这个二进制数&1,然后右移一位,如此循环,也能完成题目的要求。修改之后的程序是这个样子的:

#include <stdio.h>
int count_one_bits(unsigned int x)
{int n = 0;while(x != 0){if(x&1 == 1){n++;}x = x>>1;}return n;
}
int main()
{unsigned int x = 0;int n;printf("请输入一个十进制数:");scanf("%d",&x);n=count_one_bits(x);printf("%d个1\n",n);system("pause");return 0;
}

写一个函数返回参数二进制中1的个数相关推荐

  1. C语言中写一个函数返回参数二进制中 1 的个数

    通过C语言程序将十进制数转化成二进制数,然后求出二进制数中1的个数. 下面用三种方法来实现.来 方法一:除2取余法.对一十进制数,用2辗转相除至结果为1,将余数和最后的1从下向上倒序写就是对应的二进制 ...

  2. 写一个函数返回参数二进制中 1 的个数

    #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> Fun1(int a) //用移位 ...

  3. 写一个函数返回参数二进制中 1 的个数(三种方法)

    1.运用了除法,取余方式递推出结构 2.运用右移符(>>)运算 3.利用算术与(&)运算 三种方法效率越来越高,减少成本 #include<stdio.h>int Nu ...

  4. 说一说,求一个正整数的二进制中0的个数

    昨天突然看到一个算法题:一个正整数a的二进制中0的个数: 话说这是个老题了,直观的算法就每次右移一位,直到0为止:代码就省略了: 仔细想想有更好的方案么? 就是这个题可以转换成一个正整数~a的二进制中 ...

  5. 每天一道LeetCode-----计算整型数二进制中1的个数/返回二进制翻转后的结果

    Reverse Bits 原题链接Reverse Bits 给定一个32位无符号整型数,将它的二进制逆序,返回结果 从字符串的角度观察二进制逆序,只需要从两端开始两两交换即可.当然,完全可以不将二进制 ...

  6. C/C++求一个整数的二进制中1的个数(用三种效率不同的方法实现)

    题目: 实现一个函数,输入一个整数,输出该数二进制中1的个数.例如把9表示成二进制是1001,有2位是1,因此如果输入是9,该函数输出2 第一种解法(死循环) 判断整数二进制表示中最右边的一位是不是1 ...

  7. C/C++求一个整数的二进制中1的个数

    求一个整数的二进制中1的个数 收藏 题目:输入一个整数,求该整数的二进制表达中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 分析:这是一道很基本的考查位运算的面试题.包 ...

  8. 每列大于0的个数_二进制中1的个数(剑指offer第十四天)

    二进制中1的个数 题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数.例如,把 9 表示成二进制是 1001,有 2 位是 1.因此,如果输入 9,则该函数输出 2. 示例 1: 输 ...

  9. 【剑指Offer】个人学习笔记_15_二进制中1的个数

    目录 题目: [剑指 Offer 15. 二进制中1的个数](https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/) 题 ...

最新文章

  1. Mysql 索引原理及优化
  2. 竹笋炒肉 I18N和L10N
  3. [C++]const 总结
  4. wps大纲栏显示在右边_miui12通知栏在哪
  5. SQL Server 2005 重装时报:对性能监视器计数器注册表值执行系统配置检查失败
  6. #地形剖面图_高中地理——每日讲1题(地形剖面图、河流水的补给、河流丁坝)...
  7. CentOS7下安装Docker-Compose
  8. SQL Server 导入bak备份出错
  9. python空行拼接字符串_在python中的每一个空行插入一个新的行字符串
  10. 16.4 多模态情感识别
  11. 服务器传输文件损坏,使用ftplib将文件传输到FTP服务器后,文件已损坏
  12. sql优化的几种思路
  13. 多层材料热压工艺探索
  14. 联想服务器win7系统安装教程,一键安装联想win7系统步骤指南
  15. resource failed to call close
  16. 智商决定能力和情商决定本事的分析
  17. SpringBoot中使用MyBatis-Plus是如何解决Invalid bound statement (not found)这个异常的
  18. 欢迎清风艾艾在ITPUB博客安家!
  19. 写给两个月前的自己的一封信
  20. 如何使用lerna管理你的仓库

热门文章

  1. 信息化项目甲方采购的准备与实施
  2. VMware相关的缩略语和缩略语
  3. Linux学习总结(31)——工作中常用的Linux脚本和命令
  4. linux /dev/null,Shell中 /dev/null和 /dev/null 21
  5. linux nfs4 超时,Linux文件服务器NFS详解【4】
  6. 里计算两个数的总和_发动机排量怎样计算?懂这个的修理工真嘀很少!
  7. Spring Boot(一) 建立spring boot工程
  8. Java8-初识Lambda
  9. Dell 12G服务器 手动安装RedHat 6.X
  10. Kerberos 协议和 KDC 实现 Apache Kerby