简述dijkstra算法,python kmeans算法

  简述dijkstra算法,python kmeans算法

  CRC(循环冗余校验),简称CRC(循环码),是一种检错纠错能力相当强的码,实现编码和检码的电路比较简单。常用于串行传输(二进制位串沿信号线逐位传输)和计算机网络中辅助存储器与主机之间的数据通信。

  算法介绍循环冗余校验码由信息码N比特和校验码K比特组成。k个奇偶校验位拼接在n个数据位后面,n k是循环冗余校验码的字长,也称为这种校验码的(n k,n)码。

  n比特的信息可以表示为一个消息多项式M(x),它的最高次幂是xn-1。约定的生成多项式G(x)是k 1位的二进制数,最高幂是xk。将M(x)乘以xk,即左移k位,除以G(x)。剩余的k位是校验位。这里的除法运算是模2除法,即当部分余数的第一位为1时,商取1,反之商取0。然后一点一点的减去每一位,不产生借位。

  代码python有一个专门用于crc校验的库(crc mod),下面的代码需要这个库的支持。

  设置:pip安装crcmod

  以下示例代码用于计算16位crc校验。如果需要其他crc校验,可以查看库案例描述。

  def CRC 16 add(read):CRC 16=crcmod . mkcrcfun(0x 18005,rev=True,initCrc=0xFFFF,xor out=0x 0000)data=read . replace(, )readcrcout=hex(CRC 16(unhexlify(data)))。upper()print(readcrcout)str _ list=list(readcrcout)print(str _ list)if len(str _ list)==5:str _ list . insert(2,0) CRC _ data= 。join(str _ list)print(CRC _ data)print( CRC 16 check:% s %(CRC _ data[4:] CRC _ data[2:4]))read=data CRC _ data[4:]CRC _ data[2:4]print( adding Modbus _ CRC 16 check:% s % read)return READIF _ _ name _= _ _ main _ :CRC 16 add( 0141 FD 0300 )运行结果

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: