数字电子技术 - 二进制代码
二进制代码是数字电子技术中的重要概念之一。二进制代码是一种由两位数字 0 和 1 组成的数字代码。二进制代码是任何数字计算系统中的主要语言。二进制代码可以表示不同类型的信息,例如数字、字母、图像、视频等。
在本章中,我们将解释二进制代码的基础知识、它们的工作原理、优势、局限性和应用。
什么是二进制代码?
二进制代码用于以 0 和 1 的形式(即二进制数字)表示文本、数字、图像或其他类型的信息。二进制代码构成了计算机等数字计算系统的主要语言。
所有数字系统都只能理解和处理以二进制语言表达的信息。对于二进制代码,每个数字称为二进制数字或位。
二进制代码使用 0 和 1 表示信息。在数字系统中,二进制代码被组织成位或字节等段。位是二进制 0 或 1。当 8 个位组合在一起时,它被称为字节。每个字节代表数字系统中的一条信息。
二进制代码的类型
二进制代码可分为以下主要类型 −
- 加权二进制代码
- 非加权二进制代码
- 字母数字代码
- 二进制编码的十进制 (BCD)
- 错误检测代码
- 错误校正代码
让我们详细讨论每种类型的代码。
加权二进制代码
加权二进制代码是一种二进制代码,其中每个位位置都有与其位置值相关的特定权重。
在加权二进制代码中,位置权重以 2 的幂来定义。每个位取决于其在二进制代码中的位置。因此,在给定的加权二进制代码中,最右边的位具有最小权重,最左边的位具有最高权重。
通常,加权二进制代码中第 n 位的权重由以下公式给出:
第 n 位 = 2n
例如,假设 4 位加权二进制代码 1011。代码的值为:
1 × 23 + 0 × 22 + 1 × 21 + 1 × 20
1 × 8 + 0 × 4 + 1 × 2 + 1 × 1
8 + 0 + 2 + 1 = 11
显然,最右边的位具有位置权重 20 = 1,而最左边的位具有位置权重 23 = 8。
加权二进制代码的示例有 8421 BCD 代码、5211 代码、2421 代码等。
非加权二进制代码
在数字电子技术中,数字或二进制代码中每个位位置没有与其相关联的特定权重的类型称为非加权二进制代码。
在非加权二进制代码中,位的值不取决于数字中的位置。每个位位置都有相等的位置值。
非加权二进制代码的示例包括余3码和格雷码。
余3码
余3码也称为XS-3码。它是一种用于表达十进制数的非加权代码。余 3 码字源自 8421 BCD 码字,即在 8421 中的每个码字上添加 (0011)2 或 (3)10。
余 3 码的获取方式如下 −

查看以下示例 −

格雷码
格雷码是一种非加权码。它们不是算术代码,这意味着没有为位位置分配特定的权重。
格雷码有一个非常特殊的功能,即每次增加十进制数时,只有一个位会发生变化(见下图)。由于每次只有一个位发生变化,格雷码也称为单位距离代码。
格雷码是循环码,不能用于算术运算。

格雷码广泛用于轴位置编码器。轴位置编码器产生一个表示轴角度位置的代码字。
字母数字代码
二进制数字或位只能表示两个状态"0"或"1"。但这对于两台计算机之间的通信来说还不够,因为我们需要更多的符号来进行通信。这些符号需要代表26个字母,包括大写和小写字母、从0到9的数字、标点符号和其他符号。
字母数字代码是代表数字和字母字符的代码。大多数这样的代码还代表其他字符,例如符号和传达信息所需的各种指令。
字母数字代码是使用字符编码方案来表示数字和字母字符的二进制代码。字母数字代码主要用于涉及字符表示和信息交换的应用程序。
字母数字代码的一些常见示例是ASCII(美国信息交换标准代码)、扩展ASCII、EBCDIC(扩展二进制编码的十进制交换码)、Unicode等。
字母数字代码至少应代表10位数字和26个字母,即总共36个项目。以下三个字母数字代码非常常用于数据表示 −
- 美国信息交换标准代码 (ASCII)
- 扩展二进制编码十进制交换码 (EBCDIC)
- 五位波特码
ASCII 码是 7 位代码,而 EBCDIC 是 8 位代码。ASCII 码更常用,而 EBCDIC 主要用于大型 IBM 计算机。
二进制编码十进制 (BCD)
二进制编码十进制或 BCD 是一种二进制代码,用于以数字格式表示十进制数。在此代码中,每个十进制数字由 4 位二进制数表示。BCD 是一种用二进制代码表达每个十进制数字的方式。在 BCD 中,每个十进制数字由二进制位的唯一组合表示。
BCD 主要用于执行十进制算术运算的数字系统,如计算机、计算器、显示设备、数字传感器等。
在 BCD 中,用 4 位,我们可以表示 16 个数字(0000 至 1111),但在 BCD 代码中仅使用其中的前十个(0000 至 1001)。其余六种代码组合,即 1010 至 1111 在 BCD 中无效。

BCD 码的优点
- BCD 码与十进制非常相似。
- 我们只需要记住十进制数 0 至 9 的二进制等值。
BCD 码的缺点
- BCD 码的加法和减法遵循不同的规则。
- BCD 算法稍微复杂一些。
- BCD 需要比二进制更多的位数来表示十进制数。因此,BCD 的效率低于二进制。
错误检测代码
错误检测代码是用于识别数字通信和数据存储中的错误的特殊类型的二进制代码。错误检测代码为数据添加冗余,使接收器能够识别是否发生了任何错误。错误检测代码的常见示例包括奇偶校验位、校验和、汉明码等。
错误检测代码对于确保数据传输和存储的完整性非常重要。它们有助于提高系统的可靠性。
什么是错误?
错误是输出信息与输入信息不匹配的情况。在传输过程中,数字信号会受到噪声的影响,从而导致从一个系统传输到另一个系统的二进制位出现错误。这意味着 0 位可能会变为 1,或者 1 位可能会变为 0。

每当传输消息时,它都可能被噪声扰乱,或者数据可能会损坏。为了避免这种情况,我们使用错误检测代码,这些代码是添加到给定数字消息中的附加数据,以帮助我们检测消息传输过程中是否发生错误。错误检测代码的一个简单示例是奇偶校验。
错误校正码
错误校正码是二进制代码,旨在纠正数据传输或存储过程中数字系统中发生的错误。错误校正码会向要传输或存储的数据添加一些附加信息。
纠错码采用与错误检测码相同的策略,但此外,此类代码还能检测损坏位的确切位置。这样,即使某些位已损坏,接收器也可以重新获取原始数据。
在纠错码中,奇偶校验具有简单的错误检测方法以及确定损坏位位置的复杂机制。一旦找到损坏位,其值就会恢复(从 0 到 1 或从 1 到 0)以获取原始消息。
与错误检测码一样,纠错码对于维护数字通信和数据存储应用中的数据完整性也很重要。
根据通信信道的类型、错误模式、纠错程度等,不同类型的纠错码用于不同的数字系统。一些常见的纠错码示例是汉明码、里德-所罗门码、低密度奇偶校验码、BCH 码等。
如何检测和纠正错误?
为了检测和纠正错误,在传输时将附加位添加到数据位中。
- 附加位称为奇偶校验位。它们允许检测或纠正错误。
- 数据位与奇偶校验位一起形成代码字。
错误检测的奇偶校验
这是检测和纠正错误的最简单技术。8 位字的 MSB 用作奇偶校验位,其余 7 位用作数据或消息位。 8 位传输字的奇偶校验可以是偶校验或奇校验。

偶校验 − 偶校验意味着给定字(包括校验位)中的 1 的数量应为偶数(2、4、6、....)。
奇校验 −奇校验意味着给定字(包括校验位)中的 1 的数量应为奇数(1、3、5、....)。
校验位的使用
根据所需校验的类型,校验位可以设置为"0"或"1"。
对于偶校验,此位设置为 1 或 0,这样整个字中的"1 位"数量为偶数。参见图 (a)。
对于奇校验,此位设置为 1 或 0,这样整个字中的"1 位"数量为奇数。参见图 (b)。

如何进行错误检测?
如果接收器信号的奇偶校验与预期的奇偶校验不同,接收器的奇偶校验可以检测到错误的存在。这意味着,如果已知传输信号的奇偶校验始终为"偶数",并且如果接收信号的奇偶校验为奇数,则接收器可以断定接收的信号不正确。
如果检测到错误,则接收器将忽略接收到的字节并请求将同一字节重新传输给发射器。

二进制代码的优势
二进制代码在数字电子领域具有多种优势。以下是使用二进制代码的主要好处 −
- 简单 − 二进制代码仅使用两个数字,即 0 和 1 来表示信息。它简化了电子电路的设计和实施。
- 易于实施 − 二进制代码仅使用两种状态,即开和关。因此,它们的实施很简单。
- 易于存储 −二进制代码易于存储在硬盘、CD、DVD、U 盘等数字存储设备中。它们需要更高效的紧凑存储。
- 处理简便快捷 − 二进制代码可使用具有算术和逻辑单元的数字系统进行高效处理。它们可实现快速、无差错的计算。
- 通信简便 − 二进制代码提供了一种高速信息传输的有效方法。各种错误检测和纠正技术可应用于二进制代码,从而使数字通信更加高效。
- 易于扩展 − 二进制代码为数字系统提供了易于扩展的功能。我们只需在代码中添加更多位即可增加数字系统的范围。
- 兼容性 − 二进制代码与各种数字设备和系统兼容。
- 可靠性 −二进制代码对噪声和干扰具有很强的免疫力,从而提高了数字系统的可靠性。
二进制代码的缺点
二进制代码具有如上所述的几个优点。但是,它们也有一些缺点和局限性。
二进制代码的一些主要缺点如下 −
- 二进制代码对人类不友好。对于人类来说,阅读和解释二进制代码可能是一项复杂的任务。
- 在某些情况下,二进制代码必须转换为其他数字系统,这会给系统增加额外的计算开销。
- 二进制代码在通信信道中需要更高的传输带宽。
- 在二进制代码中,识别错误非常困难。对于较长的二进制序列,这变得更具挑战性。
二进制代码的应用
二进制代码因其在信息表示方面的高效率而被广泛应用于数字电子的各个领域。
下面列出了二进制代码的一些主要应用 −
- 数字计算机 − 二进制代码主要用于数字计算机中表示信息和指令。
- 数字通信 − 二进制代码还用于使用数字信道传输数据和信息。
- 数字显示 − 二进制代码还用于在数字系统中显示数字和字母。
- 条形码系统 − 二进制代码还用于条形码系统中的产品识别和库存管理。在这个系统中,不同宽度的条形图和它们之间的空间代表可以被扫描仪解释的二进制数字。
- 数据存储 − 二进制代码用于将信息存储在计算机内存等数字设备中。
- 数字控制系统 − 二进制代码用于编程数字控制系统。在数字控制系统中,二进制代码用于表示不同类型的控制信号和用于自动化的指令。
- 计算机图形学 − 二进制代码还用于计算机图形学中,以表示颜色、形状、像素值和其他信息。
结论
总之,二进制代码是数字系统的重要组成部分之一。它们用于以数字格式表示信息和指令。数字电子设备中使用了几种不同类型的二进制代码。
根据应用的性质,不同的二进制代码用于不同的目的。例如,ASCII 码用于字母数字数据表示。在本章中,我们解释了二进制代码的基本概念。在接下来的章节中,我们将探索不同类型的二进制代码及其在数字电子技术中的应用。