📜  错误检测代码:奇偶校验位方法

📅  最后修改于: 2021-09-16 10:46:26             🧑  作者: Mango

错误检测代码:
二进制信息通过某种通信介质从一个位置传输到另一个位置。外部噪声可以将位从 1 变为 0 或从 0 变为 1。这种值的变化称为错误。为了有效的数据传输,应该有一个错误检测和纠正代码。错误检测码是一种二进制代码,用于检测传输过程中的数字错误。一种著名的错误检测代码是奇偶校验位方法。

奇偶校验位方法:
奇偶校验位是包含在二进制消息中的额外位,用于使 1 的总数为奇数或偶数。奇偶校验字表示二进制字符串中 1 的数量。有两种奇偶校验系统 – 偶数和奇数。在偶校验系统1被附加到的二进制字符串它有在字符串否则0被附加到使1分的总偶数奇数数量的1。

在奇数奇偶校验系统中,如果有偶数个 1,则将 1 附加到二进制字符串以生成奇数个 1。接收方知道发送方是奇校验生成器还是偶校验生成器。假设如果发送方是奇校验生成器,那么在接收到的二进制字符串必须有奇数个 1。如果单个位发生错误,即位更改为 1 到 0 或 O 到 1,则接收到的二进制位将具有偶数个 1,这将指示错误。

这种方法的局限性在于只能识别单个位中的错误。

Message (XYZ) P(Odd) P(Even)
000 1 0
001 0 1
010 0 1
011 1 0
100 0 1
101 1 0
110 1 0
111 0 1

图 –使用奇校验位进行错误检测

要记住的要点:

  • 在 1 的有符号数的补码中,+0 和 -0 有两种不同的表示。
  • 8 位数字的有符号幅度表示范围,其中 1 位用作有符号位,如下所示 -2 7到 +2 7
  • 如果尾数的最高有效位是 1,则称浮点数已标准化。例如,6 位二进制数 001101 由于有两个前导 0 被标准化。
  • 使用两个 n 位数字进行乘法的 Booth 算法给出了 2n 位的结果。
  • 摊位算法使用数字的 2 的补码表示,并适用于正数和负数。
  • 如果 k 位用于表示指数,则位数 = (2 k-1 ) 并且指数范围 = – (2 k-1 -1) 到 (2 k -1)。