考虑使用带奇数奇偶校验的ASCII表示字符的数据通信系统。每个7位ASCII字符后跟一个奇偶校验位。
为以下消息中的每个字符指定生成的8位代码字:
IAcademy!
(此消息中的字符,包括感叹号。)
使用Table of ASCII Characters,我将ASCII字符“c”从0x63转换为二进制: 0110 0011
偶数个1。
1)我在哪里添加奇偶校验位(前缀或后缀)?
2)添加奇偶校验位使1的奇数将导致9位。如何将其保持为8位?
答案 0 :(得分:1)
首先,你需要知道先发送的是什么: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。我希望这有帮助!
答案 1 :(得分:0)
忽略ASCII表示中的前0,因为您只需要7位。这变为110 0011
。现在添加奇偶校验位 - 0表示偶校验,1表示奇校验。所以,如果你使用偶数奇偶校验,最终结果将是110 00110
(你通常把奇偶校验位放在最后)