当前位置: 首页 > news >正文

网站建设算行政工作吗网站页面怎么算

网站建设算行政工作吗,网站页面怎么算,wordpress中搜索页面模板,做封面模板下载网站C语言CRC-16 IBM格式校验函数 CRC-16校验产生2个字节长度的数据校验码#xff0c;通过计算得到的校验码和获得的校验码比较#xff0c;用于验证获得的数据的正确性。基本的CRC-16校验算法实现#xff0c;参考#xff1a; C语言标准CRC-16校验函数。 不同厂家通过对输入数…C语言CRC-16 IBM格式校验函数 CRC-16校验产生2个字节长度的数据校验码通过计算得到的校验码和获得的校验码比较用于验证获得的数据的正确性。基本的CRC-16校验算法实现参考 C语言标准CRC-16校验函数。 不同厂家通过对输入数据前处理和输出数据后处理的方式不同又产生了不同的厂家校验函数这里介绍IBM格式的CRC-16校验函数。IBM格式对输入数据按照单个字节进行位反序。对于输出的校验码进行整体位反序。 正向算法 正向算法是符合标准CRC-16的计算理论从左向右计算也即计算过程中移位时向左移出。几种正向算法的实现如下 CRC-16 IBM格式校验函数一(8位输入数据格式64位装载计算) #include stdio.h #include stdlib.h uint16_t PY_CRC_16_IBM(uint8_t *di, uint32_t len) {uint32_t crc_poly 0x00018005; //X^16X^15X^21 total 17 effective bits. Computed total data shall be compensated 16-bit 0 before CRC computing.uint8_t *datain;uint64_t cdata 0; //Computed total datauint32_t data_t 0; //Process data of CRC computinguint16_t index_t 63; ///bit shifting index for initial 1 searchinguint16_t index 63; //bit shifting index for CRC computinguint8_t rec 0; //bit number needed to be compensated for next CRC computinguint32_t cn(len2)/6;uint32_t cr(len2)%6;uint32_t j;datain malloc(len2);for(j0;jlen;j){datain[j] 0;for(uint8_t m0; m7; m){datain[j] | ( ( di[j](7-m) ) 1 ) m;}}datain[len] 0; datain[len1] 0;//Compensate 16-bit 0 for input dataif(len6) //Mount data for only one segment{for(j0;j(len1);j){cdata (cdata8);cdata cdata|datain[j];}cn 1;}else{if(cr0){cr 6;}else if(cr1){cr 7;}else if(cr2){cr 8;}else{cn;}for(j0;jcr;j){cdata (cdata8);cdata cdata|datain[j];}}do{cn--;while(index_t0){if( (cdataindex_t)1 ){index index_t;index_t 0;data_t | (cdata(index-16));{data_t data_t ^ crc_poly;}while((index!0x5555)(index!0xaaaa)){for(uint8_t n1;n17;n){if ((data_t(16-n))1) {rec n;break;}if (n16) rec17;}if((index-16)rec){data_t data_t(index-16);data_t | (uint32_t)((cdata(64-(index-16)))(64-(index-16)));index 0x5555;}else{for(uint8_t i1;irec;i){data_t (data_t1)|((cdata(index-16-i))1) ;}if(rec! 17){data_t data_t ^ crc_poly;index - rec;}else{data_t 0;index_t index-16-1;index 0xaaaa;}}}if(index0x5555) break;}else{index_t--;if(index_t16) break;}}if(cn0) //next segment{cdata data_t0x00ffff;for(uint8_t k0;k6;k){cdata (cdata8);cdata cdata|datain[j];}data_t 0;index_t 63; ///bit shifting index for initial 1 searchingindex 63; //bit shifting index for CRC computingrec 0; //bit number needed to be compensated for next CRC computing}}while(cn0);free(datain);uint16_t i_data_t 0;for(uint8_t n0; n15; n){i_data_t | ( ( data_t(15-n) ) 1 ) n;}return i_data_t; }CRC-16 IBM格式校验函数二8位输入数据格式 uint16_t PY_CRC_16_S_IBM(uint8_t *di, uint32_t len) {uint16_t crc_poly 0x8005; //X^16X^15X^21 total 16 effective bits without X^16. Computed total data shall be compensated 16-bit 0 before CRC computing.uint32_t clen len2;uint8_t cdata[clen] ;for(uint32_t j0;jlen;j){cdata[j] 0;for(uint8_t m0; m7; m){cdata[j] | ( ( di[j](7-m) ) 1 ) m;}}cdata[len]0; cdata[len1]0;uint16_t data_t (((uint16_t)cdata[0]) 8) cdata[1]; //CRC registerfor (uint32_t i 2; i clen; i){for (uint8_t j 0; j 7; j){if(data_t0x8000)data_t ( (data_t1) | ( (cdata[i](7-j))0x01) ) ^ crc_poly;elsedata_t ( (data_t1) | ( (cdata[i](7-j))0x01) ) ;}}uint16_t i_data_t 0;for(uint8_t n0; n15; n){i_data_t | ( ( data_t(15-n) ) 1 ) n;}return i_data_t; }CRC-16 IBM格式校验函数三16位输入数据格式 uint16_t PY_CRC_16_T16_IBM(uint16_t *di, uint32_t len) {uint16_t crc_poly 0x8005; //X^16X^15X^21 total 16 effective bits without X^16. Computed total data shall be compensated 16-bit 0 before CRC computing.uint16_t data_t 0; //CRC registeruint16_t cdata[len];for(uint32_t j0;jlen;j){cdata[j] 0;for(uint8_t m0; m7; m){cdata[j] | ( ( ( (di[j]8)(7-m) ) 1 ) m ) | ( ( ( ( (di[j]0x00ff)(7-m) ) 1 ) m ) 8 );}}for(uint32_t i 0; i len; i){data_t ^ cdata[i]; //16-bit datafor (uint8_t j 0; j 16; j){if (data_t 0x8000)data_t (data_t 1) ^ crc_poly;elsedata_t 1;}}uint16_t i_data_t 0;for(uint8_t n0; n15; n){i_data_t | ( ( data_t(15-n) ) 1 ) n;}return i_data_t; }CRC-16 IBM格式校验函数四8位输入数据格式 uint16_t PY_CRC_16_T8_IBM(uint8_t *di, uint32_t len) {uint16_t crc_poly 0x8005; //X^16X^15X^21 total 16 effective bits without X^16. Computed total data shall be compensated 16-bit 0 before CRC computing.uint16_t data_t 0; //CRC registeruint8_t cdata[len];for(uint32_t j0;jlen;j){cdata[j] 0;for(uint8_t m0; m7; m){cdata[j] | ( ( di[j](7-m) ) 1 ) m;}}for(uint32_t i 0; i len; i){data_t ^ cdata[i]8; //8-bit datafor (uint8_t j 0; j 8; j){if (data_t 0x8000)data_t (data_t 1) ^ crc_poly;elsedata_t 1;}}uint16_t i_data_t 0;for(uint8_t n0; n15; n){i_data_t | ( ( data_t(15-n) ) 1 ) n;}return i_data_t; }反向算法 反向算法是从由右向左计算也即计算过程中移位时向右移出。而计算过程中的输入数据高优先计算位和校验参数的对齐关系不变。因此把一个字节放在CRC计算寄存器的最低字节时对于IBM格式最右侧最低位实际上是高优先计算位而校验参数要相应倒序从而计算位置对照关系不变。 CRC-16 IBM格式校验函数五反向算法8位输入数据格式 uint16_t PY_CRC_16_T8_IBM_i(uint8_t *di, uint32_t len) {uint16_t crc_poly 0xA001; //Bit sequence inversion of 0x8005uint16_t data_t 0; //CRC registerfor(uint32_t i 0; i len; i){data_t ^ di[i]; //8-bit datafor (uint8_t j 0; j 8; j){if (data_t 0x0001)data_t (data_t 1) ^ crc_poly;elsedata_t 1;}}return data_t; }算法验证 5种算法结果相同 通过在线CRC工具对照验证成功 –End–
http://www.dnsts.com.cn/news/107952.html

相关文章:

  • 黑色企业网站西部数码网站助手4.0
  • 网站建设mng专业网站建设科技公司
  • 个人主页网站设计wordpress打开所有页面404
  • 网页模板哪个网站可以下载免费seo视频教程
  • 要加强网站内容的建设网站里的活动专题栏怎么做
  • 江宁区住房建设局网站泰州建设工程信息网
  • 做网站需要审批不猎头公司和人力资源公司的区别
  • 电子商务网站实例wordpress模块设计
  • 相亲网站做期货现货贵金属的人怎么补网站漏洞
  • 济南网站推广公司词典网站模板
  • 网站如何做404页面橙光音乐一家做音乐的网站
  • 长沙网站建设搭建怎么打电话给网络服务商
  • 网站建设刂搜金手指下拉贰伍下载小程序官方免费
  • 网站开发要服务器吗进入网站服务器怎么做
  • 粉红色主题 模板 网站 在线预览如何搭建一个网站平台
  • 泉州网站开发人员网站开发惠州
  • 可视化建站工具免费装修设计软件哪个好
  • 南昌网站建设索王道下拉wordpress邮件有%3c%3e
  • 小学学校网站设计模板展览展会网页模板下载
  • 网站建设价格专注制作网站设计西安个人做网站
  • 河北省建设厅工程信息网站网站开发研究综述
  • 做网站一般做几个尺寸视频制作素材
  • 用c 做的网站怎么打开吗网站建设淘宝模板
  • 双语网站代码商务网站欣赏
  • 学校网站建设栏目有哪些wordpress个性评论框
  • python 网站开发 prfh5美食制作网站模板下载
  • 网站设计就业形势建网站做相亲
  • 为什么建设旅游网站江西省城乡建设厅网站查询证件
  • 网站开发需求说明书网络推广
  • 红鱼洞水库建设管理局网站微信小游戏开发