byte数据按位反转

时间:2024-01-27 15:24:33

例如:一个Byte数据为12,反转之后的数据为3

Byte data = 12; //二进制为1100
char[] reverseDataArray = Convert.ToString(data, 2).Reverse().ToArray();
string reverseDataString = new string(reverseDataArray);
int reverseData = Convert.ToInt32(reverseDataString, 2);
Console.WriteLine(reverseData);
Console.ReadLine();

 

解析:
Convert.ToString(data, 2):
是将data转换成2进制的字符串,即12转换成“1100”。

Convert.ToString(data, 2).Reverse().ToArray():
是将字符串“1100”反转成char数据{‘0’,‘0’,‘1’,‘1’}。

string reverseDataString = new string(reverseDataArray):
是将char数组转换成string型的数据。即{‘0’,‘0’,‘1’,‘1’}转换成“0011”。

Convert.ToInt32(reverseDataString, 2):是将二进制的字符串“0011”转换成十进制整数3。