位运算

本文用于记录个人算法竞赛学习,仅供参考

目录

一.n的二进制表示中第k位x

二.通过lowbit操作返回x的最后一位1

1.lowbit实现:x & (-x)

2. lowbit具体作用


一.n的二进制表示中第k位x

n = 15 = (1111)2

操作:1.x = n >> k;

           2.x & 1 --> 答案

int bit_k(int n, int k)
{
	int x = n >> k;
	return x & 1;
}

在此基础上可以求得n的二进制表示:

int bit_k(int n, int k)
{
	int x = n >> k;
	return x & 1;
}

//计算比特位数
int countBits(int n) 
{
	int x = n;
	int count = 0;
	while (x > 0)
	{
		count++;
		x = x >> 1;
	}
	return count;
}

//转换成二进制
void bit(int n)
{
	int len = countBits(n);
	if (len == 0)
	{
		cout << 0 << endl;
		return;
	}
	for (int i = len - 1; i >= 0; i--)
	{
		cout << bit_k(n, i);
	}
}

二.通过lowbit操作返回x的最后一位1

1.lowbit实现:x & (-x)

原理: -x  ==   ~x + 1(取反加一),有x & (~x + 1),  ~x会使原来的1变为0,0变为1,再+1会使~x最后一位0变(也就是x的最后一位1)为1,再将(~x + 1)&x就可以得到最后一位1。

模板:

int lowbit(int x)
{
	return x & (-x);
}

2. lowbit具体作用

lowbit可以用于求一个二进制数的1的个数

int lowbit(int x)
{
	return x & (-x);
}

int count_1(int x)
{
	int count = 0;
	int n = x;
	while (n)
	{
		count++;
		n -= lowbit(n);
	}
	return count;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis主从同步机制

一、步骤如下&#xff1a;&#xff08;全量&#xff09; 1.从服务器向主服务器发送同步命令 sync&#xff1b; 2.主数据库接收到同步命令后&#xff0c;会执行 bgsave 命令&#xff0c;在后台生成一个 rdb 文件&#xff0c;并使用一个缓冲区记录从现在开始执行的所有写命令&a…

苏州金龙新V系客车创新打造,剑指新标杆

诞生于2004年的苏州金龙V系客车在20年时间里销售了6万多辆&#xff0c;用户超过5000家&#xff0c;用户的反复选择体现了它超强的产品力。3月下旬&#xff0c;全新打造的苏州金龙新V系客车震撼登场&#xff0c;拥趸们发现&#xff0c;该系列客车在智能化、网联化及设计语言方面…

如何使用剪映专业版剪辑视频

1.操作界面功能介绍 2.时间线的使用 拖动前端后端缩减时长&#xff0c;有多个素材可以拖动调节前后顺序拼接。 分割视频 删除

基于无迹卡尔曼滤波的路面附着系数估计算法

基于无迹卡尔曼滤波的路面附着系数估计算法 附赠自动驾驶学习资料和量产经验&#xff1a;链接 路面附着系数作为车辆底盘动力学反馈控制中的重要变量&#xff0c;对它的精确估计直接关系到控制系统的平稳运行和车辆行驶安全。但是由于无法通过直接测量获得某些状态参数或者测…

手册更新 | RK3588开发板适配Android13系统

iTOP-RK3588开发板使用手册更新&#xff0c;后续资料会不断更新&#xff0c;不断完善&#xff0c;帮助用户快速入门&#xff0c;大大提升研发速度。 本次更新内容为《iTOP-3588开发板源码编译手册》&#xff0c;RK3588开发板适配了Android13系统&#xff0c;手册同步添加了And…

@所与人「要复现」文献调研与需求收集

鉴于上次的「下一个要知道什么」调查结果&#xff0c;我发现「复现文献」的呼声不是一般的高&#xff0c;那是相当的高呐&#xff01; 所以&#xff01;新的调查又来了&#xff01;文献数量和类型实在是太太太太太太庞大了&#xff01;所以我就想征询一下大家的需求&#xff0c…

新人必看,轻松学会品牌360百科词条创建

品牌在当今互联网时代的重要性不言而喻。随着人们对信息的需求和获取渠道的多样化&#xff0c;品牌需要在各个平台上展示自己的形象&#xff0c;其中包括360百科这样的综合性知识平台。创建360百科词条可以为品牌增加曝光度、提升信誉度&#xff0c;进而吸引更多潜在客户和粉丝…

机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用&#xff0c;结合生活中的生动例子帮助大家理解。GaussianNB&#xff0c;即高斯朴素贝叶斯模型&#xff0c;是一种基于概率论的分类算法&#xff0c;广泛应…

HCIA复习

OSI --开放式系统互联参考模型 --- 7层参考模型 TCP/IP协议栈道 --- 4层或5层 OSI&#xff1a; 应用层 抽象语言 -->编码 表示层 编码-->二进制 表示层以下都是二进制-----data&#xff08;数据&#xff09; 会话层 提供应用程序的会话地址 上三层为应用…

刷题记录-leetcode字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", &qu…

分享 5 个提高技术领导力的技巧

技术领导力于很多人而言都是谜一般的存在。有观点认为&#xff0c;实战经验丰富的资深开发最终只有成为技术管理者才能继续成长。从某些方面来看&#xff0c;这可能是对的&#xff0c;但考虑到公司结构和规章制度等&#xff0c;想要完成从「个人贡献者」到「技术管理者」的跨越…

Linux 查看磁盘信息:df与du命令详解

一、df 1.简介 df 是 disk free的缩写&#xff0c;从UNIX和类UNIX操作系统的早期开始&#xff0c;它就是UNIX和类UNIX操作系统的一部分。它被设计为一种工具&#xff0c;用于监视系统上已使用和可用的磁盘空间数量。 df 命令主要用于需要检查文件系统上已使用和可用的磁盘空…

【Servlet】生命周期

文章目录 一、生命周期二、错误实例三、修改Servlet的初始化时机 一、生命周期 生命周期&#xff1a;实例化、初始化、服务、销毁 从出生到死亡的过程。对应Servlet中的三个方法&#xff1a;init()&#xff0c;service()&#xff0c;destroy() 被创建&#xff1a;执行init方法…

磁性脂质体MLs纳米药物载体

磁性脂质体&#xff08;magnetoliposomes, MLs&#xff09;是一种结合了脂质体和磁性纳米颗粒&#xff08;MNPs&#xff09;的复合纳米结构&#xff0c;这种结构兼具了脂质体的生物相容性和磁性纳米颗粒的磁响应性&#xff0c;使其成为生物医学领域尤其是在药物递送系统中非常有…

算法学习——LeetCode力扣动态规划篇3(494. 目标和、474. 一和零、518. 零钱兑换 II)

算法学习——LeetCode力扣动态规划篇3 494. 目标和 494. 目标和 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 …

sk-learn 特征数据预处理方式汇总

数据集及基本操作 1&#xff09;数据集的组成 数据集由特征(feature)与标签(label)构成。 特征是输入数据。 什么是特征&#xff08;Features&#xff09;: 机器学习中输入数据&#xff0c;被称为特征。通常特征不止1个&#xff0c;可以用 n 维向量表示n个特征。 Features 数…

智能仪器替代技术工程师重复工作 专注生产方案优化!

关键词&#xff1a;智能仪器,测径仪,测宽仪,测厚仪,直线度测量仪 在当今竞争激烈的市场环境下&#xff0c;企业需要不断提高生产效率和质量&#xff0c;以满足客户的需求。而技术工程师在生产过程中扮演着至关重要的角色&#xff0c;但他们的时间和精力往往被重复的工作所占据&…

【爬虫框架Scrapy】02 Scrapy入门案例

接下来介绍一个简单的项目&#xff0c;完成一遍 Scrapy 抓取流程。通过这个过程&#xff0c;我们可以对 Scrapy 的基本用法和原理有大体了解。 1. 本节目标 本节要完成的任务如下。 创建一个 Scrapy 项目。 创建一个 Spider 来抓取站点和处理数据。 通过命令行将抓取的内容…

Stable Diffusion WebUI 附加功能/图片放大(Extras):单张图片/批量处理/从目录进行批量处理

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 篇文章主要讲解 Stable Diffusion WebUI 的附加功能/图片放大&#xff08;Extras&#xff09;的使用&#xff0c;主要…

IP归属地在互联网行业中的应用

摘要&#xff1a;IP&#xff08;Internet Protocol&#xff09;地址归属地是指互联网上某个IP地址所对应的地理位置信息。在互联网行业中&#xff0c;IP归属地具有重要的应用价值&#xff0c;包括网络安全、广告定向、用户定位等方面。IP数据云将探讨IP归属地在互联网行业中的应…