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
    +关注

    关注

    19

    文章

    2904

    浏览量

    103009
收藏 人收藏

    评论

    相关推荐

    异或门的运算规则及应用

    异或门可以用于实现二进制数的加减法。例如,我们可以使用异或门来实现两个二进制数的加法,如果两个相应的输入端上输入的数相同时则进行减法运算
    的头像 发表于 02-04 14:47 3115次阅读
    异或门的<b class='flag-5'>运算</b><b class='flag-5'>规则</b>及应用

    运放的反馈规则该怎么理解?

    规则将导致较大的输人电流溢出,降低损害运算放大器的性能。 规则1具体怎么分析,所谓的直流反馈有哪几种形式,在积分电路反馈网络输出到输入时
    发表于 01-24 23:34

    java环境搭建及配置教程

    Java是一种广泛使用的编程语言,用于开发各种应用程序。在开始学习和使用Java之前,您需要搭建和配置Java开发环境。本教程将提供详细的Java环境搭建及配置指南。 下载
    的头像 发表于 12-06 15:50 421次阅读

    java switch case的语法规则

    Java中,switch case语句是一种用于多分支选择的控制流语句。它允许根据某个表达式的值来执行不同的代码块。下面是关于switch case语法规则的详细解释。 基本语法 switch语句
    的头像 发表于 11-30 14:40 359次阅读

    简单了解Java的新特性

    Java 8 到 Java 20,Java 已经走过了漫长的道路,自 Java 8 以来,Java 生态系统发生了很多变化。最显着的变化是
    的头像 发表于 11-23 16:38 350次阅读
    简单了解<b class='flag-5'>Java</b>的新特性

    Java11和Java17使用率达48%和45%

    2018 年 9 月发布的 Java 11 和 2020 年 9 月发布的 Java 17 是使用最广泛的 Java 版本,使用率分别为 48% 和 45%。其次是 2014 年 3 月发布
    的头像 发表于 11-01 12:30 313次阅读

    Char型变量与Bit型变量,如何进行”运算”?

    连续将key4值通过T0断一位一位用“运算“写入char 型变量keybuf。这与其他地方对不同变量的运算描述不符,请大神们赐教。小弟
    发表于 10-31 06:59

    Java和JavaEE都是什么?有什么区别?

    Java分三个版本:Java SE(标准版)、Java EE(企业版)、Java ME(微型版)。 可简单的总结为三点: Java SE 是
    的头像 发表于 10-11 17:01 476次阅读

    为什么MCU的除法运算要比乘法运算的效率低?

    为什么MCU的除法运算要比乘法运算的效率低
    发表于 10-09 07:45

    【触觉智能 Purple Pi OH 开发板体验】+ Linux下位移运算及实现

    。 位交换 在数据操作处理,常会涉及半字节的操作,比如用字节数据的高4位低4位,交换数据的高、低4位等。 对提取的高4位测试为: 对提
    发表于 08-20 12:17

    【触觉智能 Purple Pi OH 开发板体验】+ Linux下位逻辑运算的实现

    ,故0xfc|0xf1=0xfd是正确的。 图3 功能验证 若以二进制的形式来表示,其结果如图4所示。 图4 二进制表示 3)逻辑函数 该函数的作用是按位进行逻辑
    发表于 08-18 08:52

    数字电路逻辑运算

    plc编程星三角程序
    学习电子知识
    发布于 :2023年08月02日 15:02:34

    116位运算03 按位

    编程程序代码
    充八万
    发布于 :2023年07月26日 03:36:02

    H3C交换机命名规则

    1 正文 一、华为交换机命名规则 一、命名规则: Quidway SA1A2A3A4A5-A6【 A7A8 】【/A9 A10 A11 】-【 A12 A13 】-【A14 A15 A16
    的头像 发表于 06-12 09:20 2025次阅读
    H3C<b class='flag-5'>交换</b>机命名<b class='flag-5'>规则</b>

    运算。 #来快手教技能#硬声创作季

    运算
    或许
    发布于 :2023年05月31日 08:32:39