`

java异或运算备忘

阅读更多
java异或运算虽然不常用,但偶尔在系统中会看到,这里备忘一下,其基本原理如下:

    真^假=真  
    假^真=真  
    假^假=假  
    真^真=假,
就是说:只要两个条件同时为真或假,其结果都为假(这里要注意区别Java的与运算---其为真真为真,假假为假);
但仅当两条件中一个为真,另一个为假时,结果为真。
但Java的异或运算还有一个前提那就是它都是以二进制数据为基础进行的运算。
也就是说当我们在使用代码中使用到异或运算时,它都会先将两个条件进行转换,转换成二进制数据后,再进行运算,例如:
int a = 4^6;这里的4和6 都是int型数据,在进行运算时,4对应的二进制数为:100(0100);6对应的是:110(0110),这样实际的运算方程是:int a = 0100^0110;此时再来看:0<-->0=0;1<-->1=0;0<-->1=1;0<-->0=0;这样运算的结果就是:0010(这是二进制的数据),对应转换成十进制就是2.
    以上就是Java里面对于异或运算的内部运算机制。


下面看下异或解决两个实际的问题:

1

如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。
a = a ^ b;
b = _________;

a = _________;

真异或真为假,假异或假为假 || 真异或假为真,假异或真为真,

答案即

a=a ^ b;
b=a ^ b;
a=a ^ b;

2.100个数,范围是1~99 ,其中有一个重复,求重复的数字

有一个数组a[100],其中存储了1-99的整数,且只有一个数字是重复的。

要求告终一个算法给出这个重复的数。

题目的含义是总共同100个数字,1-99定然都有,然后有一个数是重复的。



措施1:有个结论如下:1^2^3……98^99 = 0,因而该题目能够利用这个规律。

对所有的数据举行异或计算,最后的收获即便重复的数字。(当然你可以用其他方法来求解这个题,如求和再减去1到99的和或者其他方法)

note:

一个规律:在异或到N得过程中(1^2^3^……^N),N = 4M,则异或结果为4M,N = 4M - 1,则异或结果为0,N = 4M - 2,则异或结果为4M - 1,N = 4M - 3,则异或结果为1.
分享到:
评论

相关推荐

    十六进制字符串按位异或运算工具和java位异或运算

    本节将详细介绍十六进制字符串的按位异或运算以及如何在Java中实现这一运算。 十六进制字符串是由0到9和A到F(或a到f)组成的字符序列,每个字符代表4位二进制数。例如,十六进制数"AB"在二进制下表示为10101011。...

    Java异或运算(简单的加密,解密)

    在Java编程语言中,异或运算(XOR)是一种二进制操作,它在信息安全和数据加密领域有广泛应用。本文将深入探讨Java中的异或运算及其在简单加密和解密中的应用。 首先,异或运算是基于二进制位的运算。如果两个位...

    java异或运算操作简单

    Java中的异或运算是一种基本的逻辑运算,它在编程中有着广泛的应用,特别是在位操作、数据加密、数据校验等领域。异或运算符是`^`,它遵循特定的运算规则,这些规则对于理解它的行为至关重要。 首先,异或运算的...

    java异或-Java异或运算总结.pdf

    Java中的异或运算是一种二进制位操作,用于处理整数。异或运算符用`^`表示,其运算规则是:如果两个位相同,则结果为0;如果两个位不同,则结果为1。这种运算在计算机科学中有着广泛的应用,尤其是在位操作、数据...

    在线异或运算.docx

    在线异或运算,也称为BCC(Block Check Character)或息组校验码,是一种简单而有效的错误检测方法,常用于通信和数据存储领域。它通过计算数据块中所有字节的异或值来生成一个校验码,该校验码能够反映出数据中的...

    C/C++十六进制异或运算

    异或(XOR)运算是一种二元逻辑运算,它对两个输入位进行操作,如果输入位相同,结果为0;如果输入位不同,结果为1。在C/C++编程中,十六进制异或运算经常被用于加密、数据校验、位操作等场景。 在C/C++中,我们...

    异或运算 进行加密 delphi编写

    异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或运算 进行加密 delphi编写异或...

    异或运算小工具

    异或运算,也被称为XOR(Exclusive OR),是计算机科学中的基本逻辑运算之一。它在数字电路、数据处理、加密算法、错误检测等领域都有广泛的应用。在这个“异或运算小工具”中,用户可以对两个数据进行异或操作,以...

    异或运算的真值表,例子展示异或运算

    异或运算,也被称为XOR(Exclusive OR)运算,是计算机科学中的一种基本逻辑运算,它在二进制系统中有着广泛的应用。异或运算的基本性质是:如果两个输入位相同,结果为0;如果两个输入位不同,结果为1。这种特性...

    加密解密 (利用异或运算)

    加密解密 (利用异或运算) 进行异或加密解密运算

    m127.rar_位异或_图像异或运算_图像运算_异或_异或运算

    本文将深入探讨"位异或"及其在图像运算中的应用,包括"图像异或运算",以及相关的"图像运算"、"异或"和"异或运算"。 首先,我们来理解"位异或"(Bitwise XOR)。位异或是一种基本的位操作,它对两个二进制数的对应...

    基于BP网络的异或运算多阈值神经元的实现

    ### 基于BP网络的异或运算多阈值神经元的实现 #### 概述 随着人工智能领域的迅速发展,神经网络技术已经成为处理复杂问题的关键工具之一。在神经网络的各种应用中,异或(XOR)运算作为一种典型的非线性问题,一直...

    Java编程实现对十六进制字符串异或运算代码示例

    "Java 编程实现对十六进制字符串异或运算代码示例" Java 编程实现对十六进制字符串异或运算代码示例是指使用 Java 语言实现对十六进制字符串进行异或运算的代码示例。在这个示例中,主要介绍了异或运算的定义、运算...

    XOR.rar_52xor25计算结果_XOR_XOR 8bit 算法_异或运算

    在IT领域,异或(XOR)运算是一种基本的逻辑运算,广泛应用于数据处理、加密算法、错误检测等领域。本文将详细解析"XOR.rar_52xor25计算结果_XOR_XOR 8bit 算法_异或运算"所涉及的知识点。 首先,XOR(异或)运算是一...

    最新单片机仿真 用P0口显示按位异或运算结果

    最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或运算结果最新单片机仿真 用P0口显示按位异或...

    什么是异或运算,异或运算的作用.pdf

    异或运算,也称为XOR,是计算机科学和逻辑运算中的基本操作之一。它在二进制系统中尤其重要,因为它具有独特的性质和多种应用场景。异或运算符通常表示为"^",并且遵循一系列特定的规则。 首先,异或运算的基本定义...

    异或运算加密

    异或运算加密是一种常见的对称加密技术,它基于数学中的异或(XOR)操作来实现数据的加密和解密。在计算机科学中,异或运算是二进制位操作的一种,其规则是:相同为0,不同为1。这个特性使得异或运算在密码学中有...

    按位异或校验和计算器.rar_异或_异或在线计算_异或在线运算_按位异或_校验和计算器

    异或(XOR)是一种基本的逻辑运算符,在...总的来说,“按位异或校验和计算器”是一个实用的工具,通过异或运算来检测和验证数据的完整性。在处理大量数据、确保数据传输准确无误的环境中,这样的工具是非常有价值的。

    异或运算加密(Delphi)

    异或运算加密(Delphi) 一个Delphi写的异或加密解密工具

    奇偶效验方法,奇偶校验的基本运算是异或运算。

    奇偶校验的基本运算是异或运算(XOR)。利用这个原理,可以设计出奇偶校验电路。 **函数F的逻辑功能:** 设有n个输入变量\( X_1,X_2,\ldots,X_n \),则函数\( F=X_1\oplus X_2\oplus\ldots\oplus X_n \)的逻辑功能...

Global site tag (gtag.js) - Google Analytics