什么叫xor,用了会怎样?这个问题困扰了偶好久……

解决方案 »

  1.   

    不可能数据溢出的。你试试 lsbyte = (123 XOR 101)
      

  2.   

    应该没有问题,123  xor 101 = 30,不会溢出呀。byte取值在0-255都没有问题的。
      

  3.   

    MonkeyLin(没有MSDN的小猴儿):
    xor是异或操作,即两个数只有一个为1,值为1,其他情况都为0。
    例如:0 xor 0=0
          0 xor 1=1
          1 xor 1=0又例如:3的二进制为:00000011,5的二进制为00000101,那么3 xor 5等于00000110,也就是6
    3 xor 5=6
      

  4.   

    非常感谢诸位的帮助。可能我的问题没有交代清楚。
    我想通过一次XOR操作对某个文件进行加密,然后再通过另一次XOR操作对文件解密。
       dim icps as integer   
       Open App.Path & "\MyFile" For Binary As #1
       For iCps = 1 To 50
           Get #1, iCps, jCps
           Put #1, iCps, jCps Xor 99
       Next iCps
       Close #1
       当我dim jcps as integer时,通过上述两次操作能顺利地进行加密和解密。但是,
    当我dim jcps as byte时,一次加密后的文件,则通过另一次却无法解密。
      不知这两个dim有何区别?请指教。