0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JAVA中的异或交换运算规则

汽车玩家 来源:IT知识课堂 作者:IT知识课堂 2020-05-05 23:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Java中的位运算符中有一个叫做异或的运算符,符号为(^)或者 Xor

异或8个字总结 相同出0 不同出1

int a=1;

int b=1;

System.out.println(a^b);

这里则输出 0

int a=12;

int b=0;

System.out.println(a^b);

这里则输出 12

小结: 相同的两个数会输出0既false ,另一个数为0 则输出它本身,下面为大家演示两个不同的数字

运算规则

其运算规则是:在两个二进制操作数的相同位中

如a=7; b=4;

a=0111; b=0100; (因为int是占据32位的,前面的位数都为0 ,所只展示后4位)

a^b=?

JAVA中的异或交换运算规则

得出 a^b =3

下面为大家详细讲解在不使用第三方的情况下交换两个属性中的值

我们要实现的是a=4; b=7;

公式为 a=a^b;

b=a^b;

a=a^b;

第一步分析:

JAVA中的异或交换运算规则

第一步结束后值为: a=3; b=7;

第二步:b=a^b;

JAVA中的异或交换运算规则

第二步结束后的值:a=3; b=4;

第三步:a=a^b;

JAVA中的异或交换运算规则

第三步结束后的值:a=7; b=4;

异或运算有三个特征,一个是0与一个数做异或操作还是本身,本身与本身做异或操作为0,异或操作还满足交换率。

利用a^a=0的特点实现这个功能

在一个数组中找出出现次数为奇数的,也可理解为出现一次的;

这里直接上代码;

JAVA中的异或交换运算规则

这里将会直接输出 5

下面是一些异或的基本知识,有兴趣的可研究一下;

1. a ^ b = b ^ a

2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.

4. a ^ b ^ a = b.

电脑自带的计算机中可以输入十进制直接转换为2进制,大大的加快了我们理解的速度

JAVA中的异或交换运算规则

代码千万行,注释第一行。格式不规范,报错两行泪

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    20

    文章

    3006

    浏览量

    116835
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Java并发编程的“基石”——多线程概念初识

    万卡集群,每一秒都有数百个任务在排队、挂起、抢占资源。如果调度器出现毫秒级的延迟死锁,意味着价值数百万的算力在空转。因此,算力调度系统对高并发、低延迟和绝对稳定性的要求,达到了苛刻的极点。这正是
    发表于 04-16 18:50

    2022全新版!Java分布式架构设计与开发实战(完结)

    缓解了单点压力,成为Java后端架构设计的必备技能。 分库分表的本质是通过水平拆分垂直拆分的方式,将原本集中存储的数据分散到多个数据库实例数据表。水平拆分按数据行进行划分,所有分
    发表于 03-30 15:20

    风华功率电感出现响,可能是哪些原因导致的?

    风华功率电感出现响,可能由振动与共振、电感饱和、PCB布局与结构问题、设计参数不当、间歇工作模式、磁性体相互作用、漏磁通影响、电感品质兼容性问题等多种因素导致,以下是具体分析: 1、振动与共
    的头像 发表于 03-18 16:38 197次阅读
    风华功率电感出现<b class='flag-5'>异</b>响,可能是哪些原因导致的?

    Arm Neoverse CPU上大代码量Java应用的性能测试

    Java 虚拟机 (JVM) 内执行。JVM 必须先通过解释器即时 (JIT) 编译器将字节码转换为机器码,而运行时生成的机器码对 Java 应用的效率和性能至关重要。
    的头像 发表于 11-05 11:25 940次阅读
    Arm Neoverse CPU上大代码量<b class='flag-5'>Java</b>应用的性能测试

    Camellia算法的实现(基于开源蜂鸟E203协处理器)

    。camellia 加密算法 Feistel 结构具有完整的前后白化层,最后一轮的整个输出与后白化子密钥进行运算,攻击者无法获得纯子密钥,只能得到子密钥的
    发表于 10-30 07:04

    ExpeditionPCB管脚交换介绍

    mentor PCB设计器件管脚网络交换介绍
    发表于 10-28 16:56 0次下载

    risc-v浮点运算单元的使用及其设计考虑

    的应用。 在RISC-V,浮点运算单元分为单精度浮点数(32位)和双精度浮点数(64位),通常包括以下几种基本功能: 加法器/减法器:用于执行浮点数的加减运算。 乘法器:用于执行浮点数的乘法
    发表于 10-21 14:46

    Java效率提升指南:5个Java工具选型建议及Perforce JRebel和XRebel介绍

    企业级Java环境越来越复杂,真正的破局点,可能不在“人”,而在于“工具”。5个实用建议,帮你理清Java工具的选型思路。
    的头像 发表于 09-11 13:59 1920次阅读
    <b class='flag-5'>Java</b>效率提升指南:5个<b class='flag-5'>Java</b>工具选型建议及Perforce JRebel和XRebel介绍

    Java 在物联网与嵌入式系统的应用前景与挑战

    的生态系统和强大的社区支持,Java 在智能家居、工业控制、可穿戴设备等场景展现出独特优势。本文将探讨 Java 在嵌入式与物联网的应用价值、技术特点以及未来发展趋势。 一、
    的头像 发表于 09-04 14:49 1150次阅读

    Is交换机组成的环形网络,当位于主控节点的Ism网管交换机故障后,为什么环网其他交换机不受影响?

    当位于主控节点的交换机故障断掉,环网其他交换机是如何保持正常运行的?或者说什么原理让环网其他交换机不受影响?
    发表于 08-06 06:46

    360环视技术推荐的硬件平台:支持多摄像头与三屏显的理想选择

    摄像头接入通道不够,限制了视野覆盖;l 视频编解码能力不足,画面延迟;l 缺乏AI识别能力,无法实现智能感知;l 输出能力弱,难以支持多屏显示显需求。这时候,一个性能均衡、接口丰富、AI能力强
    发表于 07-30 17:32

    KiCad 的自定义规则(KiCon 演讲)

    “  Seth Hillbrand 在 KiCon US 2025 上为大家介绍了 KiCad 的规则系统,并详细讲解了自定义规则的设计与实例。  ”   演讲主要围绕 加强 KiCad 的自定义
    的头像 发表于 06-16 11:17 2564次阅读
    KiCad <b class='flag-5'>中</b>的自定义<b class='flag-5'>规则</b>(KiCon 演讲)

    旺诠合金电阻的命名规则

    (Ω)为单位。在旺诠合金电阻的命名,电阻值通常通过数字字母组合来表示。例如,“100”可能表示100欧姆的电阻值,而“K”则通常表示千欧姆(kΩ)。 二、精度 精度表示电阻值的准确度,通常以百分比来表示。旺诠合金电阻的精度等级通
    的头像 发表于 05-20 11:22 758次阅读
    旺诠合金电阻的命名<b class='flag-5'>规则</b>

    基于LockAI视觉识别模块:C++图像的基本运算

    )。 1.3 图像的基本操作 图像的基本操作包括: 获取和设置像素值:访问和修改图像的像素值。 逻辑运算:如按位与、等。 差值
    发表于 05-06 16:56

    K230一运行就响是怎么回事?

    K230 一运行就响是怎么回事
    发表于 04-29 08:01