C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestCRC { /// <summary> /// 循环冗余检验:CRC-16-CCITT查表法 /// </summary> public static partial class CRCITU { /// <summary> /// 计算给定长度数据的16位CRC…
Cyclic Redundancy Check循环冗余检验,是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误. 算法原理 假设数据传输过程中需要发送15位的二进制信息g=101001110100001,这串二进制码可表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对应g(x)中x^k的系数.将g(x)乘以x^m,既将g后加m个0,然后除以m阶多项式h(x),得到的(m-1)阶余项r(x)对应的二…
Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)…
引用https://blog.csdn.net/wenqiang1208/article/details/71641414 为什么引入CRC 现实的通信链路都不会是理想的.这就是说,比特在传输的过程中可能会产生差错:1可能会变成0,0可能会变成1,这就叫做比特差错.在一段是时间内,传输错误的比特占所传输比特总数的比率成为误码率BER(Bit Error Rate).误码率与信噪比有很大的关系,在实际通信中不可能使误码率下降到零. 因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各…
//100以内与7相关的数   for(int a=1;a<=100;a++){    if(a%7==0||a%10==7||a/10==7){     System.out.print(a+"\t");    }   } //百鸡百钱      for(int a=0;a<=50;a++){    for(int b=0;b<=100;b++){     for(int c=0;c<=200;c++){      if(2*a+b+0.5*c==100){ …
10进制转16进制,以及10进制转2进制,还有10进制转8进制,这些转换如果按照常规思路的话,会灰常的麻烦. 我们来看一下 10进制转16进制: 假如这里有一个十进制数字:35,我们的需求就是把这个35转成16进制的. 思路:先把35转换成二进制,然后二进制再转换16进制. 代码: class SearchTable { public static void main(String[] args) { String[] s = searchTable(35,3,7); /** * *for(in…
首先了解十进制转化成二级制的原理 156的二进制为: 156 % 2 = 78 …… 0 83 % 2 = 39 …… 0 39 % 2 = 19 …… 1 19 % 2 = 9 …… 1 9 % 2 = 4 …… 1 4 % 2 = 2 …… 0 2 % 2 = 1 …… 0 1 % 2 = 0 …… 1 从下到上看即为 10011100 100111000转八进制实际上就是 00-000-000-000-000-000-000-000-010-011-100 倒数第一组数110 的十进制即:…
说明 CRC被广泛应用到各个领域.足见其厉害之处 本文介绍的是CRC查表法. 拷贝代码即可使用 CRC 的起始值 本来默认是0, 实际生产中遇到过,CRC初始值为0xFFFF, 故将其初始值以参数的形式传入,增加其灵活性 CRC表 unsigned short crc_table[] = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c,…
CRC(Cyclic Redundancy Check):循环冗余检验.在链路层被广泛使用的检错技术. CRC原理: 1.发送端 1.1.在发送端先将数据分组,每组k个数据.假定要传送的数据是M. 1.2.在数据M后面添加供差错检测的n位冗余码,然后构成一帧发送出去,一共发送(k+n)位. 虽然添加n位冗余码增大了数据传送的开销,但是可以进行差错检测,当传输可能出现差错时,付出这种代价是值得的. 1.3.冗余码可以用下面的方法得出: 3.1.用二进制模2运算进行2^n*M(相当于M左移n位)的运…
Java for-each循环解惑 2014/04/24 | 分类: 技术之外 | 0 条评论 | 标签: JAVA 分享到:21 本文由 ImportNew - liqing 翻译自 javarevisited.欢迎加入翻译小组.转载请见文末要求. 从Java5起,在Java中有了for-each循环,可以用来循环遍历collection和array.For each循环允许你在无需保持传统for循环中的索引,或在使用iterator /ListIterator时无需调用while循环中的ha…