当前位置: 首页 > ops >正文

XOR符号

1. ​基本定义

XOR(Exclusive OR,异或)是一种逻辑运算符,用于比较两个二进制位的值。其规则为:

  • 相同为0​:两输入位相同时(0⊕0 或 1⊕1),输出0。
  • 相异为1​:两输入位不同时(0⊕1 或 1⊕0),输出1。
2. ​真值表
ABA ⊕ B
000
011
101
110
3. ​重要性质
  • 交换律​:A ⊕ B = B ⊕ A
  • 结合律​:A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C
  • 自反性​:A ⊕ A = 0;A ⊕ 0 = A
  • 可逆性​:若 A ⊕ B = C,则 C ⊕ B = A(用于加密/解密)
4. ​应用场景
  • 加密算法​:通过密钥对数据进行异或加密(如一次性密码本)。
  • 校验与纠错​:用于奇偶校验、CRC校验等。
  • 编程技巧​:
    • 交换变量:a ^= b; b ^= a; a ^= b;(无需临时变量)。
    • 找不重复数:数组中所有数异或,结果即为唯一出现一次的数字。
  • 硬件电路​:用于加法器、比较器等数字电路设计。
5. ​示例
  • 加密​:明文 1010 ⊕ 密钥 1100 = 密文 0110
  • 解密​:密文 0110 ⊕ 密钥 1100 = 明文 1010
  • 交换变量​:a=5(101)b=3(011) → 三次异或后 a=3b=5
6. ​注意事项
  • 不可直接用于浮点数​:异或通常用于整数或二进制位操作。
  • 优先级​:在表达式中注意加括号(如 (a ^ b) == c)。
7. ​扩展符号
  • ​**⊕**​:数学/逻辑表示。
  • ​^​​:编程语言中常用符号(如C/C++、Python的 ^ 运算符)。

理解XOR的核心在于掌握其“不同为真”的特性,灵活应用于算法优化和底层数据处理中。

http://www.xdnf.cn/news/8509.html

相关文章:

  • esp32+IDF V5.1.1版本编译freertos报错
  • 机器学习——支持向量机(SVM)
  • 怎么开发一个网络协议模块(C语言框架)之(四) 信号量初始化
  • 【Java Web】3.SpringBootWeb请求响应
  • Spring 框架的JDBC 模板技术
  • 使用Python控制Arduino——入门与实战
  • Axure酒店管理系统原型
  • 【如何做好一份技术文档?】用Javadoc与PlantUML构建高质量技术文档(API文档自动化部署)
  • 正则表达式进阶(四):性能优化与调试技巧
  • STM32中的IIC协议和OLED显示屏
  • day26CSS-Sass、Stylus、Less
  • 使用Spring Boot和Spring Security结合JWT实现安全的RESTful API
  • DOM事件的注册和移除
  • 算法学习——从零实现循环神经网络
  • JavaScript从入门到精通(一)
  • JVM学习(四)--对象内存布局
  • AMD硬件笔试面试题型解析
  • 从 0 到 1!Java 并发编程基础全解析,零基础入门必看!
  • 【音频】drc 限幅器、多带限幅器、压缩器、多带压缩器
  • 自制操作系统day9内存管理(cache、位图、列表管理、内存的释放)
  • STM32 CubeMX时钟配置PWM信号输出
  • 生成模型——PixelRNN与PixelCNN
  • 生成模型——扩散模型(Diffusion Model)
  • 阿里云服务器 篇十五:自动签到服务(基于Cookie,脚本和数据分离)
  • 论文学习记录之《DiffusionVel》
  • 文档结构化专家:数字化转型的核心力量
  • Java[IDEA]里的debug
  • 对称加密中GCM和CBC俩种加密模式的区别
  • 八股碎碎念02——Synchronized
  • 氢气传感器维护常见问题及解决方法