• 大小: 2KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Java
  • 标签: CRC  Java  

资源简介

多项式编码(polynomial code),也称为CRC(cyclic redundancy check,循环冗余校验码),多项式编码的思想是:将位串看成是系数为0或1的多项式。CRC校验保护的单位是数据块。数据块的大小根据实际情况而定。每一个数据块均被看作是一个二进制多项式,即所有系数均为二进制(即1或0)的多项式。

资源截图

代码片段和文件信息

package www.zhiman.com;

import java.util.Scanner;
import java.math.*;

/**
* @Description TODO 计算循环冗余码 需注意多项式位数与帧位数之和不得超过32位!
* @author zhiman in 2017年8月28日 下午10:48:26 mail-zhimanma@gmail.com
* @version V1.0

*/
public class CrcAlgorithm {
public static void main(String[] args) {
print(“请输入二进制数据: “);
Scanner sc = new Scanner(System.in);
String dataStr = sc.next();
print(“请输入多项式系数: “);
String gxStr = sc.next();
sc.close();
//获取二进制帧的位数
int dataStrLen = dataStr.length();
//获取多项式位数
int gxStrLen = gxStr.length();
//将二进制的字符串变为整型
int data = toInt(dataStr);
//将多项式的字符串变为整型
int gx = toInt(gxStr);
//算出原始数据补零后的总位数
int sum = dataStrLen+gxStrLen-1;
//计算2的sum-1次幂
BigInteger bi = new BigInteger(“2“);
//将2的sum-1次幂转换为int型
int flag = bi.pow(sum-1).intValue();
//原始帧低位补零
data = data<<(

评论

共有 条评论