首页 > 其他分享 >异或的使用

异或的使用

时间:2024-03-02 22:23:23浏览次数:32  
标签:right 二进制 eor 异或 两种 数组 使用

异或

相同为0,不同为1。
两个二进制数异或,相当于两个二进制数不进位相加。

异或的性质

0∧N=N,N∧N=0
异或运算满足交换律和结合律
这表明一大堆数字不管顺序如何,异或之后的结果一定是相同的。

使用示例

1.使用异或运算将两个交换
a=a∧b
b=a∧b
a=a∧b
2.一个数组中一种数出现奇数次 其它数出现偶数次,怎么找到这个数。
设置一个变量eor=0,将eor与数组中的每一个数异或,最终会得到出现奇数次的数。
3.提取一个int型的数的最右侧的1
设这个数为n,则最右侧的1为n&(~n+1)。
4.计算一个32位二进制数有几个1
设二进制数为n
while(n!=0){
right=n&(~n+1);
count++;
n∧=rigjt;
}
5.一个数组中两种数出现奇次,其他数出现偶数次,找出这两种数
设eor,与数组中每一个数异或 ,由于两种数出现奇数次,所以eor必然不为0,取出最右侧的1,设为right,数组中的数分为两种,在right位为1,在right位为0,则这两种数必然在right位上不相同,那么设eor2只与right位为1的数异或,由于除了这两种数,其余数都出现偶数次,则会得到两种数其中一种,eor与eor2异或得到另一种。

标签:right,二进制,eor,异或,两种,数组,使用
From: https://www.cnblogs.com/weakcore/p/18049372

相关文章

  • 为什么要使用Java SPI机制
    JavaSPI(ServiceProviderInterface)最早是在JavaSE6中被引入的,作为一种标准的、用于在运行时发现和加载服务提供者插件的标准机制。以前的程序猿实现JDBC连接数据库都会自己写工具类加载不同厂商的驱动来实现数据库操作,但是随着JDBC4.0之后采用了JavaSPI机制,这部分工作就变的......
  • 蓝图函数库的使用
    作用函数库可以将预先写好的函数整合起来,方便别的蓝图对其进行调用;函数分为纯函数和函数纯函数是只调用的函数纯函数的设置方法函数:具有输入和输出......
  • 数据表行的使用(DataTable)
    步骤建立一个结构体建立一个DataTable关联结构体蓝图调用如果新建变量,则需要将类型指定为DataTable类型并指定相应的DataTable输出行第二个常用节点(数据表行是否存在)第三个常用节点(输出列)......
  • 事件分发器的使用
    步骤1.trigger蓝图创建事件分发2.创建需要分配执行的Actor3.关卡蓝图分配并执行Actor的逻辑示例当玩家进入trigger检测框时触发场景中两个测试物体的Log打印......
  • Hyper-v系列---【使用NAT模式连接虚拟机并使用宿主机网络】
    1.虚拟交换机外部网络:就是桥接模式,虚拟机ip和宿主机ip在一个段上,网关和宿主机一样。弊端是,一切换网络,虚拟机ip就得跟着改。内部网络(推荐):就是NAT模式,可以固定ip,把所有虚拟机改成同一个网关ip,使用以太网把网络共享给NAT模式的网卡,把NAT模式的虚拟网卡ip地址改成前面虚拟机的网......
  • Perforce使用
    文件冲突解决版本回退操作改名和移动文件还原还原没有修改的文件还原已修改的文件删除文件......
  • 使用STM32CubeMX创建工程
    1,选择芯片新建工程 2.时钟模块的设置分别设置HSE,LSE,MCO 3.时钟系统配置分别配置PLL,SYSCLK,AHB,APB1,APB2等等,配置修改如下红色标记部分 4.Cortex内核配置分别配置SYS(DEBUG),NVIC(优先级分组) 5.GPIO引脚配置我的板子的原理图的PB5引脚是LED0  6.修改工程配......
  • Ubuntu服务器使用apt-get安装包时出现E: Unable to locate package
    Ubuntu服务器使用apt-get安装包时出现E:Unabletolocatepackage解决方法首先根据网络情况换源:cat>/etc/apt/sources.list<<"EOF"debhttps://mirrors.shanhe.com/ubuntu/bionicmainrestricteduniversemultiversedeb-srchttps://mirrors.shanhe.com/ubuntu/bioni......
  • 在K8S中,如何使用 EFK 实现日志的统一管理?
    在Kubernetes(K8s)中,EFK(Elasticsearch,Fluentd,Kibana)是一种常见的日志统一管理方案。EFK堆栈允许你收集、存储、搜索、分析和可视化容器化应用程序的日志。下面是如何在Kubernetes中使用EFK实现日志统一管理的详细步骤:1.部署ElasticsearchElasticsearch是一个分布式、RESTful......
  • 关于STM32Fx部分引脚不可以正常输出高低电平的解决办法(不可以正常使用)
    一、概述在一次电路版测试中,发现stm32的部分引脚不可以正常的输出高低电平,刚开始以为是板子没有焊接好所以导致的经过多次的测试,发现电路版没问题。当时就想不清楚了,后面就问学长,还有实验室的学长一起测试。刚开始我们经过测试,认为是SCL的问题,认为在某个地方该引脚被......