考虑一个数据通信系统,它使用带有奇校验的 ASCII 来表示字符。每个 7 位 ASCII 字符后跟一个奇偶校验位。
为以下要传输的消息中的每个字符指定生成的 8 位代码字:
学院!
(此消息中的字符,包括感叹号。)
使用ASCII 字符表,我将 ASCII 字符“c”从 0x63 转换为二进制: 0110 0011
有偶数个 1。
1)我在哪里添加奇偶校验位(前缀或后缀)?
2) 添加一个奇偶校验位使 1 的个数为奇数将导致 9 位。如何将其保持为 8 位?
首先,您需要知道先发送什么:LSB 或 MSB。其次,在传输结束时附加 ODD 奇偶校验位,使 1 的总数为奇数。因此,如果您想使用首先发送 LSB(最常见)的通信系统发送 ASCII 'B'(0x42 -> 1000010),您将发送 0xC2(11000010),因此您会在线上看到 0,1, 0,0,0,0,1,1。如果您使用的是先发送 MSB 的通信系统,则相同的“B”将作为 0x85 发送。在这种情况下,您会在线上看到 1,0,0,0,0,1,0,1。我希望这有帮助!
忽略 ASCII 表示中的第一个 0,因为您只需要 7 位。这成为110 0011
. 现在添加奇偶校验位——0 表示偶校验,1 表示奇校验。因此,如果您使用偶数奇偶校验,最终结果将是110 00110
(您通常将奇偶校验位放在末尾)