-
2019-12-20 09:26:53
奇校验:一个字节8位中“1”的个数,校验位,添加一位,使9位中“1”的个数为奇数;偶校验同理。
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。校验的原理是:假如采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在 接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。
事实上,在传输中偶尔—位出错的机会最多,故奇偶校验法常常采用。
更多相关内容 -
C语言 利用位运算实现奇校验
2018-05-27 22:24:45编写函数,利用位运算符实现对一个数中除最高位以外的其他二进制数进行奇校验(奇校验就是在最高位的位置上加入一个值为1或为0的位,使该字节各个位中1的数量相加为奇数),并将校验位存放到最高位。例如:×0111001 →...编写函数,利用位运算符实现对一个数中除最高位以外的其他二进制数进行奇校验(奇校验就是在最高位的位置上加入一个值为1或为0的位,使该字节各个位中1的数量相加为奇数),并将校验位存放到最高位。
例如:×0111001 →10111001
×0010101 →00010101
#include <stdio.h>
#include<math.h>
void main()
{
unsigned char x ,y;
unsigned char after(unsigned char a);
scanf("%d",&x);
y=after(x);
printf("%x\n",y);
}
unsigned char after(unsigned char a)
{
int i,b=0;
for (i=0;i<7;i++)
b+=(a&(1<<i));
if(b%2==0)
a=(a&~0)+(unsigned char)(1<<7);
else
a=(a&~(unsigned char)(1<<7));
return(a);
} -
奇校验
2019-04-09 21:31:21题目 题目描述: 输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。...校验数据完整性的一种方法,一个字节的8个数据位与校验位加起来之和有奇数...题目
题目描述:
输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。
输入描述:
输入包括一个字符串,字符串长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据,
对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。理解
奇校验:
校验数据完整性的一种方法,一个字节的8个数据位与校验位加起来之和有奇数个 1。
校验线路在收到数后,通过发生器在校验位填上 0 或 1,以保证和是奇数个 1。
因此,校验位是 0 时,数据位中应该有奇数个 1;
而校验位是 1 时,数据位应该有偶数个 1。
如果读取数据时发现与此规则不符,CPU会下令重新传输数据。代码过程:
进行与运算,得到其二进制形式及 1 的个数;
根据得到的 1 的个数与整形 1 进行与运算,如果与结果为 0 ,则校验位置为 1;代码
import java.util.Scanner; public class Main { public static void Test(char[] s) { //一个字节8个数据位 int[] result = new int[8]; for(int i=0; i<s.length; i++) { int n = 0x01; int j = 7; int sum = 0; //进行7次与运算,得到其二进制形式及 1 的个数 while(j>0) { // 与运算 result[j] = (s[i] & n) == 0 ? 0 : 1; if(result[j] == 1) { sum++; } n = n << 1; j--; } // 进行校验 if((sum & 1) == 0) { result[0] = 1; } for(int k=0; k<result.length; k++) { System.out.print(result[k]); } result[0] = 0; //一次完成,重新置0 System.out.println(); } } public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { String str = in.nextLine(); Test(str.toCharArray()); } } }
-
verilog简单奇校验
2020-12-02 21:27:04介绍 ·奇偶校验:根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。...x是校验位,使用奇校验,因为字节中有效数据位中1的个数为4位,所以x位填1,是字节满足1的个数为奇数。.- 介绍
·奇偶校验:根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。 粘贴的
- 例如
发送端传输字节8’bx0111010;x是校验位,使用奇校验,因为字节中有效数据位中1的个数为4位,所以x位填1,是字节满足1的个数为奇数。 - 快速确定校验位
缩位异或运算符^, bits = 7’b0111010; 因为 ^bits = 0; 所以 x = 1’b1; 此处若bits中有5个1,^bits1 = 1; 那么x=1’b0;上图对缩减解释的好,剪切自http://www.techbulo.com/2830.html
- 接收端奇校验
对接收的字节进行缩减异或,若为1则正确,0位错误。 - verilog代码
//odd check //result 1 is correct module parity_check_top( input wire [7:0] bits, output wire odd_error ); assign odd_error = ^bits; endmodule //add parity bit module gen_odd_bit_for7( input wire [6:0] bits, output wire [7:0] parity ); assign parity = (^bits == 1 ) ? {1'b0,bits}:{1'b1,bits}; endmodule
-
奇、偶校验原理
2019-03-20 22:04:03Ø校验位的生成方法 Ø奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”; Ø偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中... -
10位ISBN和13位ISBN校验码的计算方法[转]
2021-01-28 08:46:3210位ISBN校验位的计算方法:(模数11 余数 0-10 差数 1-11 校验位:0-9, x(差数为10))以ISBN 7-81090-021-?为例,其计算如下1) 取ISBN前9位数字7 8 1 0 9 0 0 2 12) 取各位数字所对应的加权值(10~2)10 9 8 7 6 5 4 3 ... -
奇 偶校验与起始位 数据位 校验位 停止位 位时间 帧 波特率
2017-07-16 17:38:44含义是奇校验:所有传送的位(含字符的各位和校验位的1的个数为奇数.如:8位数据:0110101 1的个个数为偶数,我们加一个1,变为奇数,所以校验位为1.如:8位数据:0110001 1的个个数为奇数,我们加一个0仍为奇数,所以校验位为... -
奇偶校验位
2020-11-01 08:48:58在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0... -
常用的数据校验方法
2018-06-11 16:26:571.什么是数据校验 通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个...实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准... -
奇偶校验_奇校验码和偶校验码的概念和实例
2021-06-18 11:24:02文章目录exercise: exercise: 给出两个编码1001101和 1010111的奇校验码和偶校验码: 设最高位为校验位,余7位是信息位,则对应的奇偶校验码为 -
具有奇校验功能的串行发送电路
2012-05-09 16:16:31电路输入1个时钟周期宽度的输入数据产生有效脉冲strobe,输入数据din为8位,Strobe为高电平期间输入数据有效。 电路把输入的数据按从高到低的顺序依次从dout端发送出去。... 在发送完8位数据后发送一位的奇校验位。 -
奇偶校验位学习理解
2020-09-15 19:35:46一个字节一般有8bit,若是需要进行奇偶校验需要添加一个码元,所以发送接收时是8位数据位,一位校验位。 奇偶校验就是指每次发送接收的每一帧数据加上校验码之后1的个数是奇数还是偶数 奇偶校验码是奇校验码和偶... -
串口通信 / 奇校验、偶校验、0 校验和 1 校验
2019-01-28 11:24:27--------------------------------------------- -- 时间:2019-01-28 -- 创建人:Ruo_Xiao ...--------------------------------------------- 一、目的 对数据传输的正确与否进行校验。...1、奇校验:让主体... -
错误检测的奇偶校验方法
2022-01-23 16:04:39其中,一个偶校验位使得数据中1的总数为偶数,而一个奇校验位使得1的总数为奇数。 对于一个给定的系统,要么运行偶校验,要么运行奇校验,而不能同时使用这两者。 比如在进行串口传输时,我们要么定义数据为偶校验... -
15位和18位身份证JS校验的简单实例
2020-12-10 18:18:07根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字... -
校验方法
2016-11-06 23:13:06实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。 适用范围:简单的数据量极小的通讯。 应用例子:龙珠cpu在线调试工 -
三种校验方法
2016-11-05 19:54:15奇偶校验根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。...奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 10001 -
常见的数据校验方法
2017-07-28 15:01:01校验,是为保护数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。当接收方用同样的算法再算一次校验值,如果两次校验值一样,表示数据完整。 2. 最简单的校验 实现方法:将原始数据和待比较的... -
奇偶校验器的设计程序
2020-07-31 05:41:48本文介绍一个奇偶校验器的设计程序,该程序很简单,但是可以引申到很多小的细节。 -
UART(一)——起始位,停止位,奇偶校验位,数据位等概念
2020-09-09 10:09:33奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。 停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上... -
奇偶校验码
2021-11-09 12:44:051. 什么是奇偶校验码 英文为:Parity Check 跟前面提到过的CRC校验码...不同的是,它的校验位只有一位,要么是0,要么是1。并且它的校验码还可以放在码流的前面。 如下图。 例如下图有5组原始码,校验位的计算方法如 -
奇(异或)偶(同或)校验
2020-03-16 12:15:19奇偶校验: 根据被传输的一组二进制代码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。 数学运算(异或和同或): ... -
Win32 串口通信 程序编写--奇校验 偶校验 奇偶检验 设置
2019-04-01 11:23:39最近公司系统需要对接开发第三方的设备,而对方的...这次厂家的串口使用的是奇校验,由于之前没有接触过串口通讯,在搜了一片文章后,就按照里面的内容去做了,最后也能收到东西,但是随后的解析里面是一塌糊涂。后... -
校验码 奇偶校验 海明码校验
2020-06-28 17:07:10奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中"1"的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门... -
计算机网络概论-校验方法和校验码
2022-01-12 14:31:53这种方法通过在编码中增加一位校验码来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。 通俗的说 奇校验:原始码流+校验位 总共有奇数个1 偶校验:原始码流+校验位 总共有偶数个1 还是不懂... -
四位奇偶校验器设计的.doc
2021-01-12 00:07:59学生姓名:所属院系:专 业:班 级:学 号:完成日期:本科生课程设计任务书班 级: 姓 名:设计题目:基于可编程逻辑器件的四位奇偶校验器设计要求完成的内容:1.设计出一个奇偶校验逻辑电路,当四位数中有奇数个1时... -
异或、同或和奇、偶校验
2021-12-15 16:51:29奇校验:原始码+1位校验位,总共有奇数个1; 偶校验:原始码+1位校验位,总共有偶数个1。 从异或的功能(有奇数个1时,输出为1),可知可以用异或电路实现奇偶校验的功能。以8421码的偶校验为例 校验码生成电路:...