Java CRC4校验

本文介绍了如何使用Java实现CRC4校验,包括题目要求、算法设计和完整代码示例。通过一个具体的例子,展示了如何对数据1101011011进行CRC校验,并验证CRC码的正确性。同时,文章提及了改动CRC码最后一位后的验证过程,鼓励读者对代码提出改进意见。
摘要由CSDN通过智能技术生成

题目要求

要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1。试求应添加在数据后面的余数。为该数据添加CRC码,并验证他的正确性,改动CRC最后一位,验证他的正确性。

算法设计

① 循环计算,计算次数为扩大后的数据长度
② 如果数据首位不是0,分别将数据,特征码,校验首位所用的数据右移一位。否则执行③
③ 将特征码,校验 首位所用数据右移一位
④ 待求数如果小于0x10,跳出循环

全部代码

public class main {
   
    private static final  short poly = 0x13;         //1 0011
    /**
     * 计算余数
     * @param num 待检测序列
     * @return  余数
     */
    public static short getCrc(short num){

        short extendPoly = (short) (poly << 9) ;                  //10 0110 0000 0000
        short data = (short) (num << 4);     //待发送数据左移四位 11 0101 1011 0000
        short detectNum = 0x2000;                   
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值