您的位置:首页 > 编程语言 > C#

C# 对数据进行异或操作

2017-12-29 10:02 176 查看
  遇到上位机发送指令,校验方式使用异或校验,根据找到的代码 进行了修改。

 有两种形式:1 两个数组同索引的值进行异或;

                       2 同数组内所有值进行异或;

第一种:、

        //两个数组进行异或

            byte[] arr1 = { };

            byte[] arr2 = { 0x55 };

            byte[] arrXor = new byte[arr1.Length];

            for (int i = 0; i < arr1.Length; i++)

            {

                arrXor[i] = (byte)(arr1[i] ^ arr2[i]);

                Console.WriteLine("0x{0:x}", arrXor[i]);

            }

            Console.ReadKey();

第二种:

         //对同一数组内数据进行异或

            byte[] arr2 = { 0x01, 0x55 };

            int i;

            byte x;

            x = 0;

            for (i = 0; i < arr2.Length; i++)

            {

                x ^= arr2[i];

               

            }

            Console.WriteLine("0x{0:x}", x);

            Console.ReadKey();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: