奇偶校验实验代码与运行结果
时间: 2023-08-07 15:08:24 浏览: 111
以下是奇偶校验实验代码的Python实现:
```python
def parity_check(data):
# 计算数据中1的个数
ones = sum([int(digit) for digit in data])
# 判断奇偶性并返回奇偶校验位
return '0' if ones % 2 == 0 else '1'
def parity_check_test():
# 测试数据
data = '11010101'
# 计算奇偶校验位
parity = parity_check(data)
# 在数据末尾添加奇偶校验位
data_with_parity = data + parity
print(f"原始数据: {data}")
print(f"奇偶校验位: {parity}")
print(f"带奇偶校验位的数据: {data_with_parity}")
# 模拟数据传输过程中出现错误
data_with_parity = data_with_parity[:-1] + '1'
print(f"传输过程中出现错误后的数据: {data_with_parity}")
# 计算接收端收到的数据中1的个数
ones = sum([int(digit) for digit in data_with_parity])
# 判断奇偶性并输出结果
if ones % 2 == 0:
print("数据传输成功!")
else:
print("数据传输失败!")
if __name__ == '__main__':
parity_check_test()
```
运行结果如下:
```
原始数据: 11010101
奇偶校验位: 1
带奇偶校验位的数据: 110101011
传输过程中出现错误后的数据: 110101010
数据传输失败!
```
可以看到,在数据传输过程中出现错误后,奇偶校验位不再对应原始数据中1的个数,导致数据传输失败。
阅读全文