求解一个整数中含多少个1

news2024/11/8 21:33:21

1.问题描述:给定一个整数,统计其对应的二进制中含有1的个数。比如8(0000 1000),对应的二进制数中,只含有一个1.

2.设计思路:对x取余:z=x%2。如果z!=0,说明x的末尾不是为1.对于一个二进制x4x3x2x1进行分析,x1代表了1,x2代表了2,x3代表了4,x4代表了8。所以,可以将x循环往右移动(x=x>>1),如果x对应的二进制数中含有1,它一定会被移动到最低位上(x1)。那么此时,x所表示的数一定为奇数(x4x3x2x1中,只有x1为1,时所表示的数才为奇数)。当x为奇数时,x%2的结果为1。重复上述过程,直到x为0,便可以统计出x中含有1的个数。

3.代码:

#include <stdio.h>
/*统计一个十进制整数,对应的二进制数中含有1的个数*/

int count(int x)
{
	int con = 0;
	while(x)
	{
		if(x%2 != 0)			//当x%2不等于0时,表示此时,x对应的二进制数的最低位上存在一个1 
		{
			con++;
		}
		x = x >> 1;				//往右移移位,即x = x / 2 
	}
	return con;
 } 
 
int main()
{
	int ans;
	int a;
	printf("输入一个整数:\n");
	scanf("%d",&a);
	
	ans = count(a);
	printf("含有1的个数为:%d\n",ans);
	 
	return 0;
}

4.运行结果:

5.总结:

统计一个整数对应的二进制数中含有多少个1,可以将整数x转换成二进制来分析。当二进制数的最低位为1时,x%2的结果一定为1。然后将x往右移动一位(x = x >> 1)。重复上述过程,直到x为0时,结束循环,便可以得到x中含有多少个1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1164531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA虚拟机-第2章 Java自动内存管理-内存区域与内存溢出异常以及对象在Java堆中如何被new、管理和访问(1)

在java中&#xff0c;在虚拟机自动内存管理机制的帮助下&#xff0c;不再需要为每一个new操作去写配对的delete/free代码&#xff0c;不容易出现内存泄漏和内存溢出问题。但正是因为Java程序员把控制内存的权力交给了Java虚拟机&#xff0c;一旦出现内存泄漏和溢出方面的问题&a…

pikache靶场通关——XXE

文章目录 前言一、有返回显示XXE1、在输入框输入随机数据&#xff0c;抓包2、在BP数据包和靶场中各尝试使用正确的XML格式重新输入3、使用BP进行URL编码&#xff0c;利用XXE来读取系统文件 二、无回显XXE1、模拟使用的机器2、修改代码实现靶场无回显2.1、修改靶场代码&#xff…

运维常识——网络

内网&#xff0c;公网IP 内网IP为专网IP 因为网络资源&#xff08;IP地址不够&#xff0c;所以引出来了内网IP和IPv6&#xff09; 内网IP和公网IP之分是为了减缓IP地址不够使用的情况 一般设置代理服务器 设置两张网卡 一张对外一张对内 内部主机将数据转发到内网卡&#…

TSINGSEE智慧安防:AI人员入侵检测算法的工作原理及应用场景概述

人员入侵检测算法基于视频分析技术&#xff0c;自动对视频画面进行分析识别&#xff0c;可以对危险区的人员闯入、靠近等行为进行实时进行检测并预警&#xff0c;无需人工干预&#xff0c;协助管理者对场所的安全问题进行监管&#xff0c;可以广泛运用在学校、园区、工地、车站…

SDK是什么

SDK 是“Software Development Kit”&#xff08;软件开发工具包&#xff09;的缩写&#xff0c;它是一组用于开发特定软件应用、硬件平台、计算机系统或操作系统的开发工具的集合。SDK 通常包括一组开发工具、库、文档和示例代码&#xff0c;以帮助开发者更快地开发和部署应用…

桶装水订购小程序开发怎么做?一步步教你制作

随着互联网的快速发展&#xff0c;越来越多的消费者通过线上订购桶装水&#xff0c;以方便快捷地满足日常用水需求。为了满足这一需求&#xff0c;开发一款桶装水订购小程序成为必要。下面将一步步指导你如何制作这款小程序。 1. 登录乔拓云平台后台&#xff0c;进入商城管理页…

就业形势严峻 求职者如何提高竞争力

就业形势严峻&#xff0c;尤其是对于即将毕业的学生来说&#xff0c;找工作的秋招已经过去大半了&#xff0c;春招机会也不那么多了&#xff0c;如何提高自己的竞争力&#xff1f; 其实不论形势怎么严峻&#xff0c;其实归根结底无非是个竞争关系&#xff0c;如何提高竞争力才…

计算机基础知识43

属性选择器 # 通过标签的属性来查找标签&#xff0c;标签都有属性&#xff0c; id值和class值是每个标签都自带的属性&#xff0c;还 有另外一种&#xff1a;自定义属性 <div class"c1" id"d1" usernamekevin password123></div> # 针对于…

中国移动发布《新型智慧城市白皮书》(2023版)

加gzh“大数据食铁兽”&#xff0c;回“20231101”&#xff0c;获取材料完整版 导读 通过本系列白皮书&#xff0c;我们系统的阐述了中国移动对中国智慧城市发展趋势&#xff0c;并对中国移动服务智慧城市建设六大核心能力进行了介绍&#xff0c;详细说明了中国移动智慧城市…

opencv复习(简短的一次印象记录)

2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…

闹了个乌龙,Lattice文档写反了(FTUSB-0)

日常唠嗑 好久没唠嗑了&#xff0c;进入正文前&#xff0c;讲点打工心得。 打工是真的会磨人心志&#xff0c;也不是上班说有多累&#xff0c;主要是深圳通勤一般比较长&#xff0c;我在南山上班&#xff0c;住宝安&#xff0c;早上地铁加步行一般一小时。最近晚上经常睡…

vue3+ts 提取公共方法

因为好多页面都会使用到这个效验规则&#xff0c;封装一个校检规则&#xff0c;方便维护 封装前 封装后

2023云栖大会:属于开发者的狂欢

就在10月31日这天&#xff0c;杭州云栖小镇热闹非凡&#xff0c;第八届云栖大会在杭州云栖小镇盛大举行。这次大会以“聚焦大模型与生成式AI”为主题&#xff0c;开发者们齐聚一堂&#xff0c;共同探讨前沿技术趋势&#xff0c;以及如何将这些技术应用到实际业务场景中。 当然…

ROS架构:文件系统 - 计算图

一、ROS架构简介 立足不同的角度&#xff0c;对ROS架构的描述也是不同的&#xff0c;一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构: 1. 设计者 ROS设计者将ROS表述为 ROS Plumbing Tools Capabilities Ecosystem Plumbing&#xff1a;通讯机…

concat和group_concat的区别

首先 concat 和 group_concat 都是用在sql语句中做拼接使用的&#xff0c; 但是 concat是针对以行数据做的拼接&#xff0c; 而group_concat是针对列做的数据拼接&#xff0c;且group_concat默认自动生成逗号分隔。 示例&#xff1a; 1、GROUP_CONCAT 默认生成逗号拼接数据 S…

神经网络多种注意力机制原理和代码讲解

多种注意力表格&#xff1a; 大神参考仓库链接&#xff1a; 魔鬼面具 对应 name 就是目录&#xff0c;点击即可跳转到对应学习。 nameneed_chaneelpaper SE (2017) Truehttps://arxiv.org/abs/1709.01507 BAM (2018) Truehttps://arxiv.org/pdf/1807.06514.pdf CBAM (2018) Tr…

百度竞价排名推广对比自然排名哪一个更具优势-华媒舍

在搜索引擎结论网页页面&#xff08;SERP&#xff09;中&#xff0c;我们经常会看到一些网站链接及其广告栏。这种连接一般分为两种类型&#xff1a;百度竞价推广排名推广与自然排名。究竟哪个更有优势&#xff1f;本文将对这几种排名形式进行科谱详细介绍。 什么叫百度竞价推广…

YOLOv8将注意力机制融合进入C2f模块

1. 引言 1.1 YOLOv8添加注意力机制方法 yolov8添加注意力机制是一个非常常见的操作&#xff0c;常见的操作直接将注意力机制添加至YOLOv8的某一层之后&#xff0c;这种改进特别常见。 示例如下&#xff1a; 新版yolov8添加注意力机制&#xff08;以NAMAttention注意力机制为例…

BulkInsert in Entity Framework

实体框架中的 BulkInsert 扩展方法 安装 Z.EntityFramework.Extensions&#xff1a; 现在&#xff0c;我将向您展示如何使用 Z.EntityFramework.Extensions 包&#xff0c;以及如何通过 Entity Framework 执行批量插入、更新和删除操作。首先&#xff0c;打开“NuGet 包管理器…