我需要对下边一组数进行校验和的算法,算法是单字节相加,然后得到的结果取反+1,请问怎么计算呢?
需要校验和数据:A9 01(为01-16之间的数字) 01(为01-16之间的数字)00 00 00 00 00 00 00 00 00 00 00 00

解决方案 »

  1.   


    Private Sub Command1_Click()
       Dim a(14) As Byte, x As Integer, i As Integer
       a(1) = 1
       a(2) = 1
       For i = 1 To 14
           x = x + a(i)
       Next
       x = x And 255
       x = Not x + 1
       
    End Sub
      

  2.   

    猴哥,A9在什么地方啊?
    我这么改了,好像不对,结果成了32了
       Dim a(15) As Byte, x As Integer, i As Integer
       a(1) = a9
       a(2) = Val(Combo1.Text)          ‘combo1.text=16
       a(3) = Val(Combo1.Text)          ’combo1.text=16
       For i = 1 To 14
           x = x + a(i)
       Next
       x = x And 255
       Text1 = x
       x = Not x + 1
      

  3.   

    A9要装入的话在a(0),我没装你要装的话可以:
    a(0) = &HA9
      

  4.   


    Private Sub Command1_Click()
       Dim a(14) As Byte, x As Integer, i As Integer
       a(0) = &HA9
       a(1) = &H16
       a(2) = &H16
       For i = 0 To 14
           x = x + a(i)
       Next
       x = x And 255
       x = Not x - 1
       Dim aa As String
       aa = Right(Hex(x), 2)
    End Sub