求解一个整数中含多少个1
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。
相关文章:
求解一个整数中含多少个1
1.问题描述:给定一个整数,统计其对应的二进制中含有1的个数。比如8(0000 1000),对应的二进制数中,只含有一个1. 2.设计思路:对x取余:zx%2。如果z!0,说明x的末尾不是为1.对于一个二进制x4x3x2x1…...
js编写一个函数判断所有数据类型
一、typeof 在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。 对于数组、对象来说,其关系错综复杂&…...
Python对于时间相关模块的学习记录(time,datetime等模块)
1,time.time() 获得从计算机开始出生到现在的秒数(也成时间戳),可以时间相减计算流逝时间 说明 :擅长时间相减计算流逝时间 导入方法 import time import time# 1,time.time 获得从计算机开始出生到…...
【C#】获得所有可见窗口信息
【背景】 由于自己的瘦客户端上的Windows自带截图软件功能被阉割,所以自己写了一个,其中有窗口截图功能,涉及到获得所有可见窗口的信息。 【代码】 public WindowInfo[] GetAllDesktopWindows(){//用来保存窗口对象 列表List<WindowInf…...
ffmpeg的基本功能介绍
之前对ffmpeg有一个模糊的印象,后来经过一些项目对ffmpeg有了深入的认识,这里总结下。 最开始对ffmpeg的印象是可以对视频进行一些处理操作,但是做哪些操作又不是很清楚,知其然不知其所以然。下面对于ffmpeg的功能进行一个总结&a…...
QECon大会亮相产品,支持UI自动化测试?RunnerGo
最近在gitee上看见一款获得GVP(最有价值开源项目)的测试平台RunnerGo,看他们官网介绍包含了接口测试、性能测试、自动化测试。知道他们有saas版可以试用,果断使用了一下,对其中场景管理和性能测试印象深刻,…...
Linux开关机相关的命令解析
前言 Linux直接拔电源关机 ,内存中的东西还没保存到硬盘。所以有时候会导致数据丢失或者有些服务起不来。所以最好直接命令行关机就像windows电脑需要界面关机一样。而不是强制拔电源 关机命令 halt halt:关机但是不关闭电源,需要手动关闭电源(加p参数会关闭电源),不…...
C++二分查找算法的应用:俄罗斯套娃信封问题
本文涉及的基础知识点 二分查找 题目 给你一个二维整数数组 envelopes ,其中 envelopes[i] [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗…...
redis如何保证和mysql数据的一致性
Redis和MySQL是两种不同的数据库系统,它们在数据一致性方面有不同的特点和应用场景。保证Redis和MySQL数据的一致性通常需要考虑以下几个方面: 双写策略: 一种常见的方法是采用双写策略,即将更新操作同时写入Redis和MySQL。这确保…...
SpringBoot整合Redisson,赶紧整起来!
SpringBoot整合Redisson 一、Redisson 是什么?二、使用场景三、使用步骤1.引入相关依赖2.application.yml配置3.创建RedissonConfig4.开始使用 总结 提示:以下是本篇文章正文内容 一、Redisson 是什么? Redisson是一个基于Java的开源的、高…...
测试Whisper效果
先去官方上面看看,是否有对应的测试结果 简单找了一下,没找到对应的测试数据 去hugging face 上面找对应的数据集,发现没有现成的数据 找到了几个数据集,但是是收费的 101 Hours – Scene Noise Data by Voice Recorder 1,29…...
Seata 四种事务模式
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 全文参考文献:中文文档 TC (Transaction Coordinator) - 事务…...
超好用的IDEA插件推荐,写完代码直接调试接口
Apipost推出IDEA插件非常省时高效,写完代码直接可以进行调试,而且支持生成接口文档,真是后端神器啊! 可以点击下方链接安装更新或在插件商店中搜索安装 下载链接:https://plugins.jetbrains.com/plugin/22676-apipos…...
发送post请求、携带cookie、响应对象、高级用法
发送post请求 请求体中,两种方式:data{} ⇢ \dashrightarrow ⇢ 编码格式 urlencoded ⇢ \dashrightarrow ⇢ keyvalue&keyvaluejson{} ⇢ \dashrightarrow ⇢ 编码格式是json 使用方式: resrequests.post(url) 模拟登录 import …...
JMeter接口测试性能测试
目前最新版本发展到5.0版本,需要Java7以上版本环境,下载解压目录后,进入\apache-jmeter-5.0\bin\,双击ApacheJMeter.jar文件启动JMemter。 1、创建测试任务 添加线程组,右击测试计划,在快捷菜单单击添加-…...
MongoDB——MongoDB删除系统自带的local数据库
一、MongoDB删除系统自带的local数据库 1.1、linux环境进入mongo客户端 输入 mongo 命令,进入命令行客户端 进入admin库,并登录,查看所有数据库 #进入admin库 use admin #并登录admin db.auth("username","password")…...
【LeetCode刷题-链表】--203.移除链表元素
203.移除链表元素 方法:定义一个节点指向头节点head,避免头结点单独操作 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* …...
Microsoft Dynamics 365 CE 扩展定制 - 3. SDK企业功能
在本章中,我们将介绍以下内容: 服务器端并发控制客户端并发控制在事务中执行请求批处理请求暂存数据导入创建早期绑定的实体类扩展CrmSvcUtil用Filter扩展CrmSvcUtil以生成选项集枚举使用CRM配置迁移工具跨实例迁移配置简介 回顾Dynamics CRM的历史,该产品经过多年的发展以…...
人工智能基础_机器学习016_BGD批量梯度下降求解多元一次方程_使用SGD随机梯度下降计算一元一次方程---人工智能工作笔记0056
然后上面我们用BGD计算了一元一次方程,那么现在我们使用BGD来进行计算多元一次方程 对多元一次方程进行批量梯度下降. import numpy as np X = np.random.rand(100,8) 首先因为是8元一次方程,我们要生成100行8列的X的数据对应x1到x8 w = np.random.randint(1,10,size = (8…...
硬件测试(二):波形质量
一、信号质量测试 信号在传输的过程中,一般不是标准的矩形波信号,信号质量测试即通过示波器测试单板硬件的数字信号和模拟信号的各项指标,包括电源、时钟、复位、CPU小系统、外部接口(USB、网口、串口)、逻辑芯片(CPLD…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
