C语言 按位异或运算

C语言 按位异或运算按位异或运算:规律:无论0或1,异或1取反,异或0不变变量交换:题一:给定两个数a和b,用异或运算交换它们的值。思路:1)中间量t=a^b2)b=tb,相当于abb,根据异或性质知道ab^b=a,所以b=t^b就是b=a(异或性质:异或两次不变)3)a=t^a,道理同上出现奇数次的数:题二:输入n个数,其中只有一个数出现了奇数次,其它所有数都出现了偶数次。求这个出现了奇数次的数。思路:根据异或的性质,两个一样的数异或结果为零。也就是所有出现偶数

大家好,又见面了,我是你们的朋友全栈君。

按位异或运算:
规律:无论0或1,异或1取反,异或0不变

变量交换:
题一:给定两个数 a 和 b ,用异或运算交换它们的值。
思路:
1)中间量t = a^b
2) b = tb,相当于abb,根据异或性质知道ab^b = a,所以b = t^b就是b = a
(异或性质:异或两次不变)
3)a = t^a,道理同上

出现奇数次的数:
题二:输入 n 个数,其中只有一个数出现了奇数次,其它所有数都出现了偶数次。求这个出现了奇数次的数。
思路:
根据异或的性质,两个一样的数异或结果为零。也就是所有出现偶数次的数异或都为零,那么把这 n 个数都异或一下,得到的数就一定是一个出现奇数次的数了。
这里最终偶数次的数异或偶数次的偶数结果为0,0再异或奇数次的数结果为其本身,就是这个道理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141615.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java mybatis分页查询语句_mybatis分页查询的实现(一)[通俗易懂]

    java mybatis分页查询语句_mybatis分页查询的实现(一)[通俗易懂]一、总结了mybatis中五种不同实现分页查询的方法UserMapper.java接口文件publicinterfaceUserMapper{//分页查询publicListselectForPage1(intstartIndex,intpageSize);publicListselectForPage2(Mapmap);publicIntegerselectCount()…

    2022年6月2日
    62
  • DS3231高精度时钟,LCD1602显示,QXmini151版本「建议收藏」

    本设计的主要任务是计时和显示。设计任务的具体要求如下:计时:第一种是通过单片机内部的定时器/计数器来实现为软时钟。第二种是通过专用的硬件时钟芯片来实现为硬时钟。 显示:第一种是数码管显示,分为静态显示和动态显示,动态显示需要占用cpu大量时间来运行,不需要复杂的驱动程序,制作成本不高。第二种是LCD1602液晶显示,能显示出较多的信息并且数字清晰,应用广泛,但是不便于观察。总设计思路阐述1.时钟方案设计及选择:目前有DS3231、DS302、DS12C887三种时钟芯片。本次设计选择DS32

    2022年4月13日
    80
  • 深入理解Java虚拟机(超级详细)「建议收藏」

    深入理解Java虚拟机(超级详细)「建议收藏」本文详细介绍了JVM的内存区域、HotSpot中的对象、垃圾回收算法及垃圾回收器,希望能够帮助到小伙伴们。

    2022年7月7日
    23
  • HTML高级标签(2)————窗体分帧(2)————后台管理页面

    HTML高级标签(2)————窗体分帧(2)————后台管理页面

    2022年1月29日
    352
  • 3.3转1.8V(电平转换)_i2c电平转换芯片国产

    3.3转1.8V(电平转换)_i2c电平转换芯片国产利用TI电平钳制芯片SN74TVC16222A来做电平转换,优点在于速率可以做得快一些。

    2022年8月10日
    11
  • SSM-Mybatis(4)「建议收藏」

    SSM-Mybatis(4)「建议收藏」缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月9日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号