`

异或运算符^

    博客分类:
  • C++
阅读更多
按位异或运算符^

逻辑运算均是按位进行操作,真值表如下:

AND (位与&) OR ( 位或| ) XOR ( 位异或^ ) 
1 & 1 = 1

1 & 0 = 0

0 & 1 = 0

0 & 0 = 0
1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0
1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

例如:     10100001^00010001=10110000
                                    0^0=0,0^1=1 0异或任何数=任何数

                                    1^0=1,1^1=0   1异或任何数-任何数取反

                                    任何数异或自己=把自己置0
  (1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。
10100001^00000110=10100111 //1010 0001 ^ 0x06 = 1010 0001 ^ 6
(2)通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:
a=10100001,b=00000110
a=a^b;   //a=10100111
b=b^a;   //b=10100001
a=a^b;   //a=00000110
     (3) 按位异或满足交换律和接合律
                a^b = b^a
                a^b^c = a^(b^c)
(4) a^a = 00000000000000 (全是零)
      (5) a^ 全是零 = a
利用 (3)(4)(5) 可以证明 (2)
分享到:
评论

相关推荐

    计算机的异或运算符.pdf

    异或运算符的应用和原理 异或运算符是计算机中一种基本的逻辑运算符,用于实现逻辑操作。其符号为“^”,读作“异或”。在编程中,异或运算符常用于实现交换变量的值、检测数组中缺少的元素、加密解密算法等。下面...

    c#的异或运算符介绍

    代码如下: int a = 5; int b = 30; Console.WriteLine(a^b); Console.ReadKey(); 输出结果是27 这是因为 5的二进制是0000 ... 您可能感兴趣的文章:深入理解C++移位运算符C# 位运算符整理C++位运算符详解(异或

    C++中的异或运算符^的使用方法

    在C++编程语言中,异或运算符"^"是一个二进制操作符,它执行位级别的异或操作。异或运算的基本原则是:如果两个位相同,结果为0;如果两个位不同,结果为1。在二进制表示下,这个原则很容易理解。例如,2(10)在二...

    C++:异或运算符大全

    在本文中,我们将深入探讨C++中的异或运算符及其在解决LeetCode问题时的应用。异或运算符("^")是C++中的一个二元运算符,它遵循以下规则:相同为0,相异为1。这意味着,如果两个操作数的位在任何位置上都是相同的...

    用按位异或(^)运算实现文件加密的代码,c语言写dll,vb调用dll中的函数

    首先,按位异或运算符"^"在编程中是一种二进制运算,它对两个操作数的每一位进行异或操作。如果两个位相同,结果为0;如果不同,结果为1。这个性质使得异或运算是可逆的,即A ^ B = C,那么C ^ B = A,这为文件加密...

    javascript运算符语法全面概述.docx

    4. 规律运算符:包括按位与运算符&、按位或运算符|、按位异或运算符^等,用于对二进制数进行操作。 5. 三元运算符:包括条件运算符?:,用于根据条件选择不同的值。 6. 赋值运算符:包括赋值运算符=、加法赋值运算符+...

    C++按位异或运算符的使用介绍

    (1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。 10100001^00000110=10100111 //1010 0001 ^ 0x06 = 1010 0001 ^ 6   (2)通过按位异或运算,可以...

    JavaScript中按位“异或”运算符使用介绍

    按位“异或”运算符 (^)是对两个表达式执行按位异或。使用方法: 代码如下: result = expression1 ^ expression2 其中result是任何变量。 expression1是任何表达式。 expression2是任何表达式。 按位“异或”运算符...

    PB9的字符串异或校验(源码)

    PowerBuilder9的源码,输入字符串,返回校验BCC位。希望对大家有用。

    Java中使用异或运算符实现加密字符串

    本文将深入探讨如何使用Java中的异或运算符来加密字符串,并提供一个简单的实现示例。 异或运算符(^)在Java中用于执行位操作。当两个位相同,异或结果为0;当两个位不同,结果为1。这个特性使得异或运算在加密...

    C++位运算符详解(异或运算符和移位运算符)

    本文将深入探讨两种特殊的位运算符:异或运算符(^)和移位运算符(和 >>)。 首先,让我们了解什么是位运算。位运算符作用于整数类型的二进制表示上,例如char、short、int和long。它们直接操作单个比特位,而不是...

    计算机基础知识异或.pdf

    异或运算符在各种编程语言中广泛存在,并且在硬件设计、加密算法、数据处理等多个计算机科学技术领域都有其身影。异或运算符之所以重要,是因为它在数据处理和逻辑运算中提供了独特的功能和便捷性。 异或运算符的...

    java异或源码范例和详细说明(由浅入深,深度解读在资料后半部分).docx

    本文旨在介绍 Java 中的异或运算符,包括其基本概念、编程示例和高级应用场景。异或运算符是一种常用的位运算操作符,用于对二进制数进行比较和操作。在 Java 中,异或运算符表示为“^”,它接受两个操作数,并将...

    C语言运算符和表达式PPT学习教案.pptx

    * 位异或运算符^ * 位左移运算符 * 位右移运算符>> 赋值运算符是用来将一个值赋给变量的,包括: * 赋值运算符= * 加赋值运算符+= * 减赋值运算符- * 乘赋值运算符*= * 除赋值运算符/= * 取模赋值运算符%= * 左移...

    C#编程基础运算符和特殊符号的使用

    * 异或运算符 ^:两个数都转化成二进制后,再进行逐位对比运算,如果同位置值相同,则取 0,否则,取 1 * 且位运算符 &:两个数都转化成二进制后,再进行逐位对比运算,如果同位置值相同,则取 1,否则,取 0 * 或位...

    C语言符号优先级.doc

    位运算符包括按位与运算符&、按位异或运算符^、按位或运算符|等。逻辑运算符包括逻辑与运算符&&、逻辑或运算符||等。这些运算符的优先级相对较低,总是被第五到第十一个执行。 第十二优先级:条件运算符 条件...

    蓝桥杯java模拟试题.pdf

    异或运算符 ^ 的性质是:a ^ a = 0,a ^ 0 = a,这样我们可以使用异或运算符来交换 a 和 b 的值。 3. 代码填空(满分3 分) for (int i = 1; i ; i++) { if (i % 7 == 0) System.out.println("*"); else if (...

Global site tag (gtag.js) - Google Analytics