zoukankan      html  css  js  c++  java
  • 模2除法(CRC校验码计算)

    最近学习到CRC效验码,看书感觉生涩难懂,在网上找的某博主的文章,感觉通俗易懂。

    模2加减法

    模2除法需要用到模2加减法,关于模2加减法,其实就是异或操作,规则如下:

      


     模2除法:

    规则:假设被除数X,和除数P,余数R

             1. X除以P(对X和P做模2加减法),被除数首位为1时,商1,为0时商0

             2.所得余数去除首位(即左移一位):

                         1. R第一位为0,将其作为新的被除数,除以0,此时其首位为0,商即为0

                         2. R第一位为1,将其作为新的被除数,除以P,此时其首位为1,商即为1

           3. 重复第2步直到R位数少于P位数


    例:1111000对除数1101做模2除法:

    先说结果: 商1011111

    整体运算

    分步分析

    第一步(每一步其实都是模2加减法运算):

                      商的第一位:被除数首位为1,商为1(只要被除数首位非0,商就是1)                                          

    第二步:余数去除首位(左移一位),当第一位为0时,除以0;为1时,除以除数。

                    商的第二位:被除数首位为0,商为0(只要被除数首位是0商就是0)                                             

    第三步

                   商的第三位:被除数首位为1,商为1                                                                                             

    第四步

                 商的第四位:被除数首位为1,商为1                                                                                   
                 此时不能继续做除法,计算结束                                                                                       

                               

                                              得到最终结果: 商1011111


        转自:https://me.csdn.net/qq_33411687

     
  • 相关阅读:
    PIE SDK 基于Dot net bar实现比例尺控件
    PIE SDK 监督分类对话框类(SupervisedClassificaitonDialog)使用经验
    图层树右键菜单结合Command操作过程
    PIE 插件式开发小笔记__PIESDK学习体会
    [转]sqlserver收缩文件没效果的解决办法
    efcore 输出显示sql语句
    Linux 常见的进程调度算法
    Linux 配置 vimrc
    排序 选择排序&&堆排序
    C/C++ 内存管理 (《高质量C++》-- 整理笔记)
  • 原文地址:https://www.cnblogs.com/liweikuan/p/12484561.html
Copyright © 2011-2022 走看看