奇偶校验计算器 - 偶数/奇数检测器

判断数字是偶数还是奇数,计算二进制数据的奇偶校验位,并在十进制、二进制和十六进制数制之间进行错误检测。

输入任意进制的数字——十进制、二进制(0b 前缀)或十六进制(0x 前缀)——选择数制和奇偶类型,然后点击“计算”。

奇偶校验计算器 - 偶数/奇数检测器
判断数字是偶数还是奇数,计算二进制数据的奇偶校验位,并在十进制、二进制和十六进制数制之间进行错误检测。

关于奇偶校验计算器

奇偶性是数论和数字电子学中最简单也最常用的概念之一。若一个数能被 2 整除且没有余数,则它是偶数;若不能,则为奇数。每个整数都恰好属于这两类之一,而且无论用哪种数制表示,这一分类都成立:十进制 42、二进制 0b101010 和十六进制 0x2A 都表示同一个偶数。 奇偶校验位是附加在二进制数据字末尾的单个位,用来让 1 位的总数满足偶校验或奇校验的约定。它是数字通信中最简单的错误检测机制的基础。当发送端为一个 8 位数据字节追加偶校验位,而接收端检查 1 位总数是否仍为偶数时,传输过程中任何单比特错误都会改变检查结果并被立即发现。奇偶校验广泛用于串行通信端口、DRAM 存储芯片、RAID 磁盘阵列以及早期电信协议。 该计算器支持三种数制。十进制是人们日常最熟悉的十进制系统。二进制是所有数字硬件的原生二进制系统。十六进制是工程师在阅读内存转储或寄存器值时偏好的紧凑的 16 进制表示。在自动识别模式下,计算器会识别二进制的 0b 前缀和十六进制的 0x 前缀,将没有前缀的输入视为十进制。你也可以用选择器显式锁定数制。 除了显示奇偶性之外,结果面板还会展示数字的完整二进制展开以及 1 位的数量——也称为汉明重量或 popcount。这两个值就足以完全表征任何非负整数的奇偶性。对于数据完整性检查中的大数,汉明重量只需遍历置位比特而不是扫描每一个比特位置,因此即使在数值很大时也依然高效。 奇偶性在组合数学、数论和抽象代数中也很重要。在排列理论中,排列的符号由其奇偶性定义。在模运算中,偶数和奇数构成整数最简单的非平凡商环。因此,理解奇偶性是一个连接基础算术、计算机体系结构、数字通信和高等数学的入口概念。此工具覆盖所有标准情况,并支持自动进制检测,带来流畅的工作流程。

奇偶校验计算器示例

展示不同数制下偶数/奇数检测和奇偶校验位计算的代表性示例。

输入结果说明
42(十进制,自动识别)偶数;偶校验位 = 142 的二进制是 101010,包含 3 个 1 位(奇数个),因此偶校验位 = 1。42 本身是偶数(42 ÷ 2 = 21,余数为 0)。注意:数值的奇偶性与校验位是不同概念。
0b1011(二进制 11)奇数;偶校验位 = 1十进制值为 11。二进制 1011 含有 3 个 1 位(奇数个),所以偶校验位为 1。11 本身是奇数(不能被 2 整除)。
0xFF(十六进制 255)奇数;偶校验位 = 00xFF 的二进制是 11111111,包含 8 个 1 位(偶数个),因此偶校验位 = 0。十进制值 255 是奇数。
0(十进制零)偶数;偶校验位 = 00 没有 1 位(数量 = 0,为偶数),所以偶校验位为 0。零在数学上被定义为偶数。

如何使用奇偶校验计算器

  1. 在“数字输入”字段中输入数字。十进制可直接输入整数;二进制请加上 0b 前缀(例如 0b1010);十六进制请加上 0x 前缀(例如 0xFF)。
  2. 如果要强制使用特定进制,请选择“数制”;若希望计算器根据前缀自动识别,则保持“自动识别”。
  3. 根据所使用的错误检测方案选择“偶校验”或“奇校验”——偶校验在串行通信中更常见。
  4. 点击“计算”。面板会显示数字的奇偶性、计算出的校验位、二进制表示以及对应的十六进制值。
  5. 点击“重置”可清除所有输入,或修改数字后再次点击“计算”以比较不同数值。

奇偶校验计算器常见问题

数字的奇偶性和校验位有什么区别?
数字的奇偶性只是指它是偶数还是奇数,也就是能否被 2 整除。校验位则是附加在二进制数据字上的单个位,用来让 1 位总数满足某种约定。这两个概念相关但不同:数字的奇偶性描述的是数值本身,而校验位是附加到比特流中的一种错误检测手段。
校验位是如何计算的?
先统计数据字中的所有 1 位(这个数量称为汉明重量)。对于偶校验,如果 1 位数量是奇数,则校验位取 1 以使总数变为偶数;如果本来就是偶数,则取 0。奇校验则相反。接收端会对包含校验位在内的接收比特重新计算奇偶性;任何不匹配都表示传输错误。
单比特奇偶校验能检测所有错误吗?
单比特奇偶校验只能检测奇数个比特错误。如果恰好翻转了两个比特,奇偶检查仍会通过,即使数据已被破坏。为了更高的可靠性,工程师会使用更强大的技术,例如 CRC(循环冗余校验)、既能检测也能纠正单比特错误的汉明码,或用于存储和广播系统的 Reed-Solomon 码。
为什么零是偶数?
零可以被 2 整除,因为 0 ÷ 2 = 0,余数为 0,符合偶数的数学定义。这与 …, −4, −2, 0, 2, 4, … 的规律一致。在二进制中,零有 0 个 1 位,数量为偶数,因此它的偶校验位也是 0。
工程师为什么用十六进制而不是二进制?
二进制字符串会很快变长——一个 32 位数字需要 32 个数字位。十六进制是一种紧凑的简写,每个十六进制数字正好代表 4 个二进制位,因此 32 位数字只需 8 个十六进制数字。工程师可以在两者之间自由切换,因为每 4 位都能映射到一个十六进制字符。
实际中哪里会用到奇偶校验?
偶校验是大多数串行 UART 通信链路的默认方式。DRAM 模块会为每个字节使用额外的校验位来检测单比特内存错误。RAID-4 和 RAID-5 磁盘阵列在多个驱动器之间存储异或校验,以便重建任意一个故障磁盘。IPv4 首部携带 16 位校验和,其原理与奇偶思想类似。