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();
有两种形式: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();
相关文章推荐
- DataGridView进行添加、修改、删除数据操作-C#
- C#操作MsSQL进行大量数据的插入操作
- C#操作Excel,套用模板并对数据进行分页
- C#操作Excel,套用模板并对数据进行分页
- C#操作Excel中的数据进行计算
- 使用C#对MongoDB中的数据进行查询,修改等操作
- C#对DataGridView进行添加、修改、删除数据操作
- c#操作Access,对MDB数据的table进行操作,包括新增,读取
- C#中通过映射对MySQL数据进行操作
- 对DataGridView进行添加、修改、删除数据操作----C#
- 用VC++2005调用用ASP.NET(C#)做的WebSerice接口进行操作数据库
- C#利用SqlDataAdapte对DataTable进行批量数据操作
- 使用C#对MongoDB中的数据进行查询,改动等操作
- 使Decimal类型数据保留N位小数且不进行四舍五入操作(C#)
- C# 操作JSON字符串用于与网页中的返回数据进行互动
- 使用C#对MongoDB中的数据进行查询,修改等操作
- c#操作xml文件与数据库配合进行数据导入导出
- C#对DataGridView中的数据进行添加、修改、删除操作
- C#操作Excel,套用模板并对数据进行分页
- 利用二进制数据的XOR(异或)运算进行加/解密(C#版)