奇偶校验码
2022-02-07陈新龙
电脑报 2022年4期
陈新龙
进制转换是我们利用符号来计数的方法之一,进制转换由一组数码符号和两个基本因素“基数”与“位权”构成,进制转换的方法和原理都在之前的文章中已有介绍,今天和大家分享一个和进制转换有着紧密联系的内容,这就是奇偶校验。
奇偶校验是一种校验数据传输的正确性的方法。根据被传输的一组二进制代码数位中的“1”的个数是奇数或偶数来进行校验。其中奇校验方法:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1。
小明编写一个计算奇校验的VB程序,需要实现在文本框Text1中输入1-255十进制待校验数,单击计算按钮Command1后,在文本框Text2中显示该数对应的二进制值,并且在标签Label4中显示该数的待校验数值的功能。
这个程序最主要的功能就是数二进制数的个数,如果二进制数的个数为奇数,校验位数为0,如果二进制数的个数为偶数,校验位数为1。如何将待校验数转换为二进制数呢?其实就是简单十进制转二进制的方法:除2取余,然后倒数排序、高位补零。
在VB编程的过程中,我们事先需要准备定义所需的变量,了解定义变量的类型。待校验数的变量是整形,并且数值的范围在1-255之间,二进制数的变量是字符串(八位长度),新增加变量t类型是整形,用来统计循环过程中产生1的个数,由于十进制转二进制的過程中使用除二取余方法,转换的数字当中只会出现数字1和0,所以只需要将所有的数字累加得出和,通过判断累加的和是奇数还是偶数即可,累加的和与2进行取余,若值等于1为奇数,若值等于0为偶数。
奇偶校验有两种类型:奇校验和偶校验。不过奇偶校验是最简单的错误校验检测码,由于没有办法确定哪一位出错,所以它不能校正错误。发现错误必须扔掉对应的全部数据,然后重新传输。