奇偶校验位是数据通信中常用的一种错误检测方法,根据被传输的一组二进制代码中“1”的个数是奇数还是偶数来进行校验。奇偶校验位可以分为两种类型:奇校验和偶校验。
奇校验:在奇校验中,校验位被设置为使得整个字节(包括校验位)中“1”的个数为奇数。如果原始数据中“1”的个数已经是奇数,那么校验位就设置为0,使得总的“1”的个数为偶数。反之,如果原始数据中“1”的个数是偶数,校验位就设置为1,使总的“1”的个数变为奇数。
偶校验:在偶校验中,校验位被设置为使得整个字节(包括校验位)中“1”的个数为偶数。如果原始数据中“1”的个数已经是偶数,那么校验位就设置为0,保持总的“1”的个数为偶数。如果原始数据中“1”的个数是奇数,校验位就设置为1,使总的“1”的个数变为偶数。
这两种方法都可以检测出数据传输过程中单个位的错误,但如果同时有两个位发生错误,奇偶校验就无法检测出来了。因此,它只能检测出错误,但不能纠正错误。
除了基本的奇偶校验,还有更复杂的校验方法,如循环冗余校验(crc)等,这些方法可以检测出更多位的错误,并具有一定的错误纠正能力。
奇校验:在奇校验中,校验位被设置为使得整个字节(包括校验位)中“1”的个数为奇数。如果原始数据中“1”的个数已经是奇数,那么校验位就设置为0,使得总的“1”的个数为偶数。反之,如果原始数据中“1”的个数是偶数,校验位就设置为1,使总的“1”的个数变为奇数。
偶校验:在偶校验中,校验位被设置为使得整个字节(包括校验位)中“1”的个数为偶数。如果原始数据中“1”的个数已经是偶数,那么校验位就设置为0,保持总的“1”的个数为偶数。如果原始数据中“1”的个数是奇数,校验位就设置为1,使总的“1”的个数变为偶数。
这两种方法都可以检测出数据传输过程中单个位的错误,但如果同时有两个位发生错误,奇偶校验就无法检测出来了。因此,它只能检测出错误,但不能纠正错误。
除了基本的奇偶校验,还有更复杂的校验方法,如循环冗余校验(crc)等,这些方法可以检测出更多位的错误,并具有一定的错误纠正能力。