`
dcj3sjt126com
  • 浏览: 1877613 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

异或运算推导, 交换数据

    博客分类:
  • C
  • PHP
阅读更多
/*
 * 5 0101
 * 9 1010
 *
 * 5 ^ 5
 * 0101
 * 0101
 * -----
 * 0000
 * 得出第一个规律: 相同的数进行异或, 结果是0
 *
 * 9 ^ 5 ^ 6
 * 1010
 * 0101
 * ----
 * 1111
 *
 * 1111
 * 0110
 * ----
 * 1001
 *
 * 9 ^ 6 ^ 5
 * 1010
 * 0110
 * -----
 * 1100
 *
 * 1100
 * 0101
 * -----
 * 1001
 * 得到第二个规律: 异或的顺序是可以交换的
 *
 * 1001
 * 0000
 * ----
 * 1001
 *
 * 0101
 * 0000
 * ----
 * 0101
 * 得到第三个规律: 任何数和0异或, 结果是本身
 */

//规律1, 相同的数进行异或, 结果是0
//规律2, 异或的顺序可以交换 9 ^ 5 ^ 6 == 9 ^ 6 ^ 5
//规律3, 任何数和0异或, 结果是本身
//推导   a ^ b ^ a = b
//根据2  a ^ b ^ a = a ^ a ^ b
//根据1  a ^ b ^ a = a ^ a ^ b = 0 ^ b
//根据3  a ^ b ^ a = a ^ a ^ b = 0 ^ b = b

echo PHP_EOL;
function swap($a, $b)
{
    $a ^= $b;  //  a = (a ^ b);
    $b ^= $a;  //  b = (a ^ b) ^ b; 结果就是 b = a
    $a ^= $b;  //  a = (a ^ b) ^ (a ^ b ^ b); 两个a合并为0, 两个b合并为0, 最后就剩下b, 结果是 a = b
    echo $a.$b;
}
swap(1, 2);

 

分享到:
评论

相关推荐

    a异或b异或c.pdf

    在电子学中,异或门是数字逻辑门的一种,其功能与异或运算类似。 在给定的描述中虽然没有具体信息,但我们可以根据异或的基本性质来深入讨论。首先,异或运算有以下的性质: 1. 交换律:a XOR b = b XOR a 2. 结合...

    数电期末试卷及答案共4套.pdf

    2. 异或运算性质:异或运算具有**交换律**和**结合律**,但不满足**分配律**。当有多个相同数值进行异或运算时,如果数值数量为偶数,结果为0;如果数量为奇数,结果为1。因此,2004个"1"异或的结果是0,因为2004是...

    数电考试卷及答案(共4套).docx

    2. **异或运算**:异或运算具有交换律和结合律,2004个"1"异或的结果是0,因为任何数与自身异或都等于0。 3. **半导体存储器结构**:半导体存储器主要包括地址译码器、存储矩阵和输出缓冲器。地址译码器负责选择...

    数电期末试卷及答案(共4套)讲课教案.pdf

    2. **异或运算**:异或运算具有自反性和交换性,2004 个“1”异或起来的结果是 0,因为任何数与自身异或都得0。 3. **半导体存储器结构**:半导体存储器通常由地址译码器、存储矩阵和输出缓冲器组成。地址译码器...

    计算机结构与逻辑设计第2章 逻辑函数与门网络.ppt

    异或运算表示当两个输入不同时输出为1,相同则输出0。同或运算则是异或的非运算,当两个输入相同时输出为1,不同则输出0。这些运算在数字逻辑中常用于数据比较和错误检测。 门电路是实现逻辑运算的物理实体,包括...

    2013小米软件开发人员招聘笔试题

    异或运算满足交换律和结合律。因此,遍历整个数组,将所有元素进行异或运算,最终结果即为仅出现一次的数字。 以上是对2013年小米公司软件开发类人员招聘笔试题中部分知识点的详细解析,希望能帮助理解和掌握相关的...

    数字电子技术模拟试题

    2. 异或运算具有交换律和结合律,因此,2004 个“1”异或起来的结果是0,因为任何数与1异或两次结果都是其本身。 3. 双极型集成电路(BJT)和单极型集成电路(MOSFET)是两种常见的半导体集成电路类型。TTL...

    重庆大学2011-2012(2)数字电子技术II.pdf

    - **示例**:对于2012个“1”进行异或操作,由于异或操作具有自反性和交换性,可以推导出最终结果为1。 #### 1.3 三态门电路 - **三态门**:除了高电平和低电平外,还有一种状态称为高阻态(高阻抗状态)。 - **...

    第十三届蓝桥杯省赛C++组真题A组

    解这类问题时,需要掌握异或运算的性质,并可能用到位操作。 3. **爬树的甲壳虫**:这可能涉及到图论中的最短路径问题。甲壳虫在树上移动,寻找最短路径,可以使用Dijkstra算法或Bellman-Ford算法来解决。 4. **...

    数字逻辑复习题3终版.pdf

    2. **异或运算的性质**:异或运算具有交换律和结合律,连续异或多个相同的数值最终会得到**0**。因此,将2004个"1"异或起来,结果是**0**。 3. **555定时器的应用**:555定时器可以构建多种电路,其中**定时器**和*...

    计算机网络原理课件第7章应用层.pptx

    变位密码则改变了明文的字符顺序而不改变其本身,例如一次性加密法,使用随机比特串作为密钥,将明文和密钥进行异或运算。这些传统方法的局限性在于密钥管理和易受攻击性。 现代密码算法基于两种主要原则:冗余信息...

    CSP-J 第1套初赛模拟试题模拟题附答案

    2. **二进制逻辑异或运算**:介绍二进制数的逻辑异或运算规则及其应用。 - **知识点**:异或运算是数字逻辑中的基本操作之一,用于比较两个二进制数的相应位,如果两位不同则结果为1,相同则为0。 3. **布尔型变量...

    数字电路复习题.doc

    4. 异或运算性质:异或操作具有交换律,所以2004个“1”异或起来的结果是0。 5. 逻辑函数及反函数:对于一个给定的逻辑函数,它的反函数可以通过取反操作得到。例如,如果一个函数F为1,其反函数F'就是0。 6. 3线-...

    2022年单片机实用教程数字电路基础.ppt

    代数化简法依赖于逻辑代数的公理、定理和运算法则,通过公式推导得到最简形式。例如,(A+B)(A+C)可以化简为A+BC。卡诺图化简法则是一种图形化的方法,通过合并相邻的小方格,找到逻辑函数的最简“与-或”或“或-...

    noip2007普及组初赛真题(4页版)

    - **知识点**:冗余数据是指可以通过其他数据推导出来的数据,可能会导致数据的不一致性。在设计数据库时,需要权衡冗余数据带来的查询效率提升和数据一致性问题。 - **选项解析**:本题考察考生对冗余数据处理原则...

    2015计算机网络与通信技术A与答案_最终.doc

    - **CRC冗余码计算**:通过生成多项式对数据进行异或操作得到冗余码。 - **数据链路层功能**:包含帧定界、透明传输和差错检测。 - **IP分片**:根据MTU进行分片,最后一个分片的总长度是IP首部固定长度加上小于MTU...

    SZU计算机安全导论平时测验

    3. 数据加密标准(DES)的轮函数包含扩展、子密钥异或、压缩和置换四个步骤。由于压缩运算S盒是非线性的,不可逆,因此DES不是可逆的。 4. DES的S盒运算中,通过输入的二进制值确定行号和列号,取对应的数值并转换...

    100个经典例题(C语言).doc

    - 按位异或运算 - **描述**:学习按位异或运算符`^`的使用方法。 #### 【程序54】题目:取一个整数a从右端开始的4~7位 - **知识点**: - 数字处理 - 位运算 - **描述**:通过位运算获取整数的特定位。 #### ...

    关于程序语言的一份试题

    - 位运算的基础概念:按位与、按位或、按位异或等。 - 位运算的应用:如何利用位运算进行快速的数学运算。 - 位运算的特性及其在计算机科学中的重要性。 #### 题目十二:折扣计算 - **知识点**: - 折扣计算的...

Global site tag (gtag.js) - Google Analytics