我的编程空间,编程开发者的网络收藏夹
学习永远不晚

深入理解java中的异或运算符

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

深入理解java中的异或运算符

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 则输出它本身,下面为大家演示两个不同的数字

相关视频教程推荐:java在线教程

运算规则

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

如:a=7; b=4;

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

a^b=?

92cb4bcb254420b8ff1fd109d548c4b.png

得出 a^b =3

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

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

公式为 a=a^b;
b=a^b;
a=a^b;
第一步分析:

94e2cfc3b42d8756fe075c6719e1668.png

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

第二步:b=a^b;

41c82ab67f95c7da4c9037ed8fddc70.png

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

第三步:a=a^b;

2408e33b4f00a161540b8be1a25e6b2.png

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

异或运算有三个特征,一个是0与一个数做异或操作还是本身,本身与本身做异或操作为0,异或操作还满足交换率。
利用a^a=0的特点实现这个功能,在一个数组中找出出现次数为奇数的,也可理解为出现一次的;

这里直接上代码;

private static void ddd() {
		int a[] = { 22, 38, 38,5, 22, 4, 4, 11, 11 };
		int t = 0;
		for (int i = 0; i < a.length; i++) {
			t ^= a[i];
		}
		System.out.println(t);
	}

这里将会直接输出 5

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

a ^ b = b ^ a

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

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

a ^ b ^ a = b.

更多相关文章教程推荐:java入门学习

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

深入理解java中的异或运算符

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

深入理解java中的异或运算符

Java中的位运算符中有一个叫做异或的运算符,符号为(^)或者 Xor异或8个字总结 相同出0 不同出1int a=1;int b=1;System.out.println(a^b);这里则输出 0int a=12;int b=0;System.out.pri
深入理解java中的异或运算符
2016-04-08

深入理解Python中的*重复运算符

在python中有个特殊的符号“*”,可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意注意的是:*重复出来的各对象具有同一个id,也就是指向在内存中同一块地址,在对各个对象进行操作是一定要注意。举例来说:
2022-06-05

深入理解Golang中的除法运算符

深入理解Golang中的除法运算符在Golang中,除法运算符/是常见的数学运算符之一,用于计算两个数的商。但在实际编程中,对于除法运算符的使用可能会涉及到一些特殊情况和注意事项。本文将深入探讨Golang中的除法运算符,包括整数除法、浮
深入理解Golang中的除法运算符
2024-03-13

探索Golang中的异或运算符

Golang异或符是什么?来了解一下吧!在Golang中,异或符号(^)是一种位运算符,用来对二进制数进行按位异或运算。异或运算符的运算规则是:对应的二进制位相同取0,不同取1。在Golang中,它不仅可以用于整数的二进制表示,还可以用于
探索Golang中的异或运算符
2024-01-29

PHP 中相等运算符 == 的深入详解

php 的相等运算符(==)采用松散比较,在比较值时不考虑数据类型。具体来说,它:允许整数和字符串相等。认为 nan 仅等于自身。认为 inf 和 -inf 仅等于自身或彼此。将 null 仅视为等于自身。PHP 中相等运算符(==)的深入
PHP 中相等运算符 == 的深入详解
2024-04-09

深入理解Python运算符:位移运算符、逻辑运算符和运算符优先级的实践手册

进阶Python运算符的应用:位移运算符、逻辑运算符、运算符优先级的实践指南Python是一门广泛应用于各个领域的高级编程语言,而掌握其中的运算符的使用是非常重要的。除了基本的算术运算符,Python还提供了许多其他类型的运算符,包括位移
深入理解Python运算符:位移运算符、逻辑运算符和运算符优先级的实践手册
2024-01-20

深入解析Python运算符:比较运算符、逻辑运算符、位运算符的用途和含义

Python运算符解析:比较运算符、逻辑运算符、位运算符的用法和意义一、比较运算符比较运算符用于比较两个值之间的关系,并返回一个布尔值(True或False)。下面是常见的比较运算符:等于(==): 判断两个值是否相等,如果相等则返回Tr
深入解析Python运算符:比较运算符、逻辑运算符、位运算符的用途和含义
2024-01-20

深入解析Go语言中%运算符的应用

Go语言中%运算符的用途详解,需要具体代码示例引言:在Go语言中,%运算符是一个常用的运算符之一。它的作用是求取两个数相除的余数。本文将详细讨论%运算符的用途,并给出一些具体的代码示例。一、%运算符的基本用法%运算符可以应用于整数类型的
深入解析Go语言中%运算符的应用
2024-01-18

PHP 相等性比较:深入理解 == 运算符的运作机制

php 中的相等性比较涉及 == 运算符。它有两种类型:严格比较 (===) 和非严格比较 (==)。后者可能产生意外结果,因为不同类型的变量可以被转换为相同类型后再进行比较。要确保值相等且类型相同,应使用严格比较。PHP 相等性比较:深入
PHP 相等性比较:深入理解 == 运算符的运作机制
2024-04-09

详解Java中的运算符

本篇文章为大家展示了详解Java中的运算符,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的运算符,分为四类:算数运算符、关系运算符、逻辑运算符、位运算符。算数运算符(9):+ - * / %
2023-05-31

深入解析Python中的变量和赋值运算符

Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
2022-06-04

如何在 Java 中妥善处理求余运算符的异常情况?(如何在Java中处理求余运算符的异常情况)

在Java编程中,求余运算符(%)是一个常用的运算符,用于计算两个数相除的余数。然而,在使用求余运算符时,可能会遇到各种异常情况,如除数为零等。本文将详细介绍如何在Java中处理求余运算符的异常情况,帮助开发者更好地编写健壮的代码。一、求余运算符的基本概
如何在 Java 中妥善处理求余运算符的异常情况?(如何在Java中处理求余运算符的异常情况)
Java2024-12-15

深入解析Go语言的运算符用法

Go语言中运算符的高级用法解析Go语言作为一门现代化的编程语言,提供了丰富的运算符供开发者使用。除了常规的算术运算符和逻辑运算符外,Go语言还提供了一些高级的运算符,可以帮助开发者更加高效地进行编程。本文将对这些高级运算符进行解析,并给出相
深入解析Go语言的运算符用法
2024-01-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录