检验奇偶校验的程序

如何用c语言编写一个很简明的奇偶校验的程序,就是在一个字节里面数1的个数,如果是奇数的话返回一个值(0或1),如果是偶数的话就返回另一个值(1或0),请各位分享一下你的想法,谢谢。

提供个做法...
假设BUF是你要检验的数,CNT是1的个数
则判断 buf & 0x01(取最低位开始计算)是否等于 1, 如果等于1则将CNT+1
如果等于0则CNT不加.之后将BUF右移一位.再重复上面的检查

最后会得到一个CNT值,在拿这个值来%2如果为0就是偶数..为1就是奇数...
温馨提示:内容为网友见解,仅供参考
无其他回答

奇偶检验码的工作原理和具体流程
奇偶校验码由n-1位信息元和1位校验元组成,可以表示成为(n,n-1)。如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数个;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数个。设:如果一个偶校验码的码字用A=[an-1,an-2,…,a1,...

棋盘奇偶校验小工具怎么用
是一个软件或小程序,可以在计算机或手机上运行。2、选择棋盘类型:在工具中选择适合正在使用的棋盘类型。例如,国际象棋、中国象棋、围棋等。3、输入棋子布局:在工具中输入棋盘上棋子的布局。可以点击、拖动或输入坐标的方式完成。4、自动检测奇偶校验:棋子布局输入完毕,工具将自动检测棋子的奇偶校验是否...

8位奇偶校验电路程序解释
奇校验电路,当输入有奇数个1时,输出为1;偶校验电路当输入有偶数个1时,输出为0。奇偶校验只能检查一位错误,且没有纠错的能力。 奇校验是通过增加一位校验位的逻辑取值,在源端将原数据代码中为1的位数形成奇数,然后在宿端使用该代码时,连同校验位一起检查为1的位数是否是奇数,做出进一步操作的...

51单片机中C语言奇偶校验位如何设置?
在51单片机中,只要将一个值传送给累加器,这个数的奇偶校验值就会影响P。一般而言,在串行通讯中为确保传输数的准确,用到校验位的情况比较多。以下是程序代码:#includemain(){char dat;TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;SCON=0xd0;while(1){dat++;ACC=dat;TB8=P; \/\/校验位送第九...

什么是奇偶校验
若用奇校验,则当接收端收到这组代码时,校验"1"的个数是否为奇数,从而确定传输代码的正确性。奇偶校验需要一位校验位,即使用串口通信的方式2或方式3(8位数据位+1位校验位)。奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。即:如果传输字节中1的个数是偶数,则校验位为...

垂直奇偶校验程序怎么写啊
利用c语言里的位操作符就可以实现了,不知道你要多少个数,怎么输出的不好下。void main(){ unsigned char x1=5,x2=7,x3=46,x4=98;\/\/垂直 位计算 unsigned char shuizhi= x1|x2|x3|x4;}

UG4.0编制的程序如何通过奇偶校验(DNC加工发生奇偶校验报警)
不启用奇偶效验 \\17 Xon \\19 Xoff 发送设置 CR\/LF:\\10 删除含指定字符的行:不设置 开始触发器:不设置 删除字符:不设置 结束触发器:不设置 中断再接字符数:0 程序前导字符:不设置 握手超时(秒):0 程序后缀字符:不设置 每行延时(毫秒):5 等待Xon:选择 等待'启动'按钮:不选择 删除...

51单片机中C语言奇偶校验位如何设置
即刻生成校验位P MOV C, P MOV TB8, C ;校验位送到TB8 MOV SBUF, A ;发送数据,以及P 上述写法,是偶校验。奇校验,需要增加一条取反指令,如下:MOV C, P CPL C MOV TB8, C ;校验位送到TB8

什么是奇偶校验?有什么用?可以怎么使用?(不能在网上找哦!)
不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据...

怎样用74LS139实现奇偶校验电路(三输入两输出)
74LS139片内就是双2线-线译码器,正好组成三输入两输出的奇偶校验电路。在数据选择器中,通常用地址输入信号完成挑选数据的任务。如一个4选1的数据选择器,应有2个地址输入端。共有2z=4种不同的组合,每一种组合可选择对应的一路输入数据输出。同理对一个8选1的数据选择器,应有3个地址输入端。

相似回答