【微信排行源码】【qemu kvm 源码】【项目进度 源码】查易语言源码大全_易语言制作查询器

2024-11-06 17:26:52 来源:仿itellyou源码 分类:知识

1.CRC16校验算法源码(易语言)

查易语言源码大全_易语言制作查询器

CRC16校验算法源码(易语言)

       CRC校验算法源码在易语言中的查易实现如下:

       版本 2

       子程序 _CRC校验计算, 参数 预校验内容, 预校验内容为字节型数组

       局部变量 crc, 用于存储校验值,初始值为 "2"

       局部变量 返回数据,语言源码易语言制微信排行源码 用于存储最终的校验值,类型为整数型

       局部变量 j,大全qemu kvm 源码 用于数组索引,类型为整数型

       局部变量 被校验内容,作查项目进度 源码 用于存储数组中的每个字节,类型为字节型

       局部变量 i,询器源码无法表示 用于循环计数,类型为整数型

       局部变量 CY,查易word排版源码 用于判断当前位是否为1,类型为整数型

       局部变量 crc高位,语言源码易语言制 用于存储高位校验值,类型为文本型

       局部变量 crc低位,大全 用于存储低位校验值,类型为文本型

       初始化crc为 { ,作查 }

       计次循环首 (取数组成员数 (预校验内容), j)

       被校验内容 = 预校验内容 [j]

       crc [2] = 位异或 (被校验内容, crc [2])

       计次循环首 (8, i)

       CY = 位与 (crc [2], 1) ' 检查CRC[2]与1有没有共同位

       如果 (CY = 1) ' 如果CRC[2]与1有共同位

       crc [2] = 右移 (crc [2], 1) ' 低位右移一位

       如果真 (位与 (crc [1], 1) = 1) ' 如果校验高位与1有共同位

       crc [2] = 位或 (crc [2], ) ' 给crc低位最高位补1

       如果真结束

       crc [1] = 右移 (crc [1], 1) ' crc高位右移一位

       crc [2] = 位异或 (crc [2], 1) ' CRC低位与生成多项式0XA求异或

       crc [1] = 位异或 (crc [1], ) ' CRC高位与生成多项式0XA求异或

       否则

       crc [2] = 右移 (crc [2], 1) ' 低为右移一位

       如果真 (位与 (crc [1], 1) = 1) ' 如果校验高位与1有共同位

       crc [2] = 位或 (crc [2], ) ' 给crc低位最高位补1

       如果真结束

       crc [1] = 右移 (crc [1], 1) ' 高位右移1位

       否则结束

       计次循环尾 ()

       计次循环尾 ()

       如果真 (取文本长度 (到文本 (crc [1])) = 1)

       crc高位 = “” + 到文本 (crc [1])

       如果真结束

       如果真 (取文本长度 (到文本 (crc [1])) = 2)

       crc高位 = “0” + 到文本 (crc [1])

       如果真结束

       如果真 (取文本长度 (到文本 (crc [1])) = 3)

       crc高位 = 到文本 (crc [1])

       如果真结束

       如果真 (取文本长度 (到文本 (crc [2])) = 1)

       crc低位 = “” + 到文本 (crc [2])

       如果真结束

       如果真 (取文本长度 (到文本 (crc [2])) = 2)

       crc低位 = “0” + 到文本 (crc [2])

       如果真结束

       如果真 (取文本长度 (到文本 (crc [2])) = 3)

       crc低位 = 到文本 (crc [2])

       如果真结束

       返回 (crc高位 + crc低位)

本文地址:http://5o.net.cn/html/93c96498942.html 欢迎转发