《逻辑与计算机设计基础(原书第5版)》——2.6 异或操作和异或门

简介: 本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第2章,第2.6节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.6 异或操作和异或门

除了图2-3中所示的异或门之外,异或操作还有自己的独特性质。用符号表示的异或操作实现下列函数运算
image

如果仅有一个输入变量为1,则结果等于1。异或非又称为同或(equivalence),是对异或进行取反,可以用函数表示为:
image

当X和Y的值都等于1或者都等于0时,函数的值等于1。通过真值表或者下面的代数处理可以看出,这两个函数互为取反。
image

这些性质中的任何一个都可以利用真值表或者将运算用等效的布尔表达式代替的方法来进行验证,同时还可以看到异或运算满足交换律和结合律,即
image

这意味着异或门的两个输入端可以相互交换而不影响运算结果,而且我们可以按任意顺序计算三变量的异或运算,因此三变量或更多变量的异或运算可以不需要借助括号来表示。
两输入的异或函数可以用普通的逻辑门来实现,这需要两个非门、两个与门和一个或门。异或操作满足结合律意味着异或门可以有两个以上的输入端,但两个以上变量的异或概念将由下面介绍的奇函数来替代。因此,没有符号可以用来表示多于两个输入的异或。根据对偶性可知,异或非可以由偶函数来替代,也没有符号可以用来表示两个以上的输入。
奇函数
三变量或三变量以上的异或运算可以通过将运算符用等效的布尔表达式来替代的方法,转化成普通的布尔函数。例如,三变量的异或运算可以转化为如下的布尔表达式:
image

从布尔表达式中可以清楚地看出,当只有一个变量等于1或者所有三个变量都等于1的时候,三变量异或运算的值等于1。因此,与二变量函数只需要一个变量的值为1相比,三变量或者三变量以上的函数则需要奇数个变量的值为1。所以,多变量异或运算又被定义为奇函数(odd function)。事实上,严格说来,这才是三变量或者三变量以上运算的正确含义,“异或”这个名字只适合于二变量。
奇函数的定义可以通过将函数绘制在卡诺图上得到清晰的解释。图2-22a所示的是三变量奇函数的卡诺图。函数的4个最小项两两之间至少有两个字符不相同,因此在图上它们彼此不相邻,相互之间的海明距离为2。奇函数由4个有奇数个1的最小项所确定。四变量的情况如图2-22b所示,图中8个被1所标记的最小项构成奇函数,注意图中1方格之间的距离模式。需要说明的是,图中没有标记为1的最小项有偶数个1,组成奇函数的反函数称为偶函数(even function)。奇函数可以通过多个两输入异或门来实现,如图2-23所示。偶函数则可以通过用同或门取代输出门来获得。
image

相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
为什么大型语言模型都在使用 SwiGLU 作为激活函数?
SwiGLU可以说是在大语言模型中最常用到的激活函数,我们本篇文章就来对他进行详细的介绍。
2036 9
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【前沿观察】金加德讲师:2026,AI应用元年——技术人如何跨越“模型”与“落地”的鸿沟,跟随时代脚步?
2026年,AI迈入“应用元年”,技术重心从大模型转向智能体落地。金加德讲师指出,推理成本骤降、交互范式重构与确定性逻辑回归推动AI进入工业化时代。Prompt工程让位于Agent系统设计,Coze与Python成核心工具。个人竞争力在于掌握“胶水语言”、架构思维与领域知识。未来属于能定义问题、构建系统的“数字造物主”。
380 1
|
9月前
|
人工智能 运维 安全
如何自己开发一套ERP系统?
本文探讨了企业自建ERP系统的可行性,分析了轻量、中型和重型ERP的区别,并指出自研ERP需明确业务需求、流程逻辑及投入成本。文章建议企业在决定自研前,应先梳理清楚管理逻辑,而非盲目追求技术方案。
|
机器学习/深度学习 人工智能 自然语言处理
《鱼与熊掌兼得:DataWorks中AI驱动的数据脱敏与可用性平衡术》
在数字化时代,数据成为企业核心资产,驱动业务决策与创新。DataWorks作为大数据处理平台,利用AI技术进行数据脱敏,确保隐私保护的同时维持数据可用性。通过生成对抗网络(GAN)和自然语言处理,DataWorks能生成既保留特征又符合隐私要求的脱敏数据,支持机器学习模型训练。此外,建立数据映射关系和应用数据增强技术,进一步提升脱敏数据的实用性和多样性。尽管面临挑战,DataWorks正不断优化算法,结合新兴技术,实现数据隐私与价值挖掘的平衡,助力数字经济健康发展。
591 29
|
存储 缓存 开发工具
HarmonyOS Next~HarmonyOS应用开发工具之AppGallery Connect
AppGallery Connect(AGC)是华为为HarmonyOS开发者提供的全生命周期服务平台,支持开发、测试、上架到运营全流程。其核心功能包括应用分发、云数据库、认证服务和云函数等,助力开发者提升效率、缩短开发周期。AGC采用分层架构设计,集成40+云端服务能力,覆盖170+国家/地区,支持全球化业务拓展。通过事件跟踪、异常监控等工具,帮助开发者优化性能与用户体验。未来,AGC将引入低代码开发、增强现实等新能力,助力构建高质量HarmonyOS应用。
1087 4
|
API 数据库 网络架构
深入浅出:使用Python Flask实现RESTful API
【10月更文挑战第7天】在数字化时代,掌握如何高效构建和部署RESTful API是后端开发者的必备技能。本文将引导你了解如何使用Python Flask框架快速打造一个简单而强大的RESTful服务。从基础环境搭建到API设计原则,再到实际代码示例,我们将一步步揭开Flask框架的神秘面纱,让你轻松上手,并能够自信地处理更复杂的项目。
|
存储 运维 数据安全/隐私保护
如何高效利用阿里云Docker镜像仓库管理您的容器镜像
如何高效利用阿里云Docker镜像仓库管理您的容器镜像
伪随机序列——m序列及MATLAB仿真
伪随机序列——m序列及MATLAB仿真
1947 2
|
网络协议 网络安全 网络虚拟化
网络技术基础(13)——NAT网络地址转换
【3月更文挑战第2天】网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记,边听边记笔记实在是太慢了。
|
Linux
11. 【Linux教程】创建文件和目录
11. 【Linux教程】创建文件和目录
343 0