VB用查表法实现CRC8  以下是两个实现的方法中为什么
1、两个查表法中的表中的内容(两个蓝色区域)为什么不同
2、两个方法中 红色文字区域 各代表什么含义 ,头一个 :$8C: X8+X5+X4+1 是什么含义   第二个 $07: X8+X2 +X1+1 又是什么含义VB用查表法实现CRC8    ($8C: X8+X5+X4+1)
Private Function GetCRC8(Index As Byte) As Byte  
    GetCRC8 = Choose(Index + 1, &H0, &H5E, &HBC, &HE2, &H61, &H3F, &HDD, &H83, &HC2, &H9C…..)
End Function
Public Function CRC8(bData() As Byte) As Byte
    Dim CRC_Temp As Byte
    Dim CRC_Index As Byte
    Dim i As Long
    CRC_Temp = 0
    For i = LBound(bData) To UBound(bData)
        CRC_Index = CRC_Temp Xor bData(i)
        CRC_Temp = GetCRC8(CRC_Index)
    Next
    CRC8 = CRC_Temp
End Function
 
 
VB用查表法實現CRC8  ($07: X8+X2 +X1+1)
Option Explicit
Private Function GetCRC8(Index As Byte) As Byte
    GetCRC8 = Choose(Index + 1, &H0, &H7, &HE, &H9, &H1C, &H1B, &H12, &H15, &H38, &H3F…..)
End Function
Public Function CRC8(bData() As Byte) As Byte
    Dim CRC_Temp As Byte
    Dim CRC_Index As Byte
    Dim i As Long
    CRC_Temp = 0
    For i = LBound(bData) To UBound(bData)
        CRC_Index = CRC_Temp Xor bData(i)
        CRC_Temp = GetCRC81(CRC_Index)
    Next
    CRC8 = CRC_Temp
End Function

解决方案 »

  1.   

    重点不在于 VB6没落,而是这个CDSN的氛围已经不行了,大牛没有心情再来。
    至于这个“氛围”,和人员的流失,因素是多方面的,我也不想多说。
     尤其是一大群小白到这儿来,还牛B哄哄的,张口闭口 只要代码、不求学习…………  其实你的这个问题答案也是显而易见的!
    你没抓住重点: 关键点是问题2!
     把两个问题的顺序调换一下,先问问题2、再问问题1;
     然而,若把上面的问题2搞清楚了,则问题1 也就不存在了。我先说问题2:
     那个叫“生成多项式”。
     这个名词我也没必要在这儿解释,百度一下,相关的介绍漫山遍野的…………
     生成多项式“长什么模样”,取决于相应的CRC算法的协议(或“标准”)。生成多项式不同,那个“表数据”必然也不同!
    自然而然的,对“同一组数据”,CRC校验的结果也不相同。