如何将 List<int>data 数组转换为可用于位掩码的内容?
How can I convert List<int>data array to something that I could use for bitmasking?
我有一个这样的List<int>data
(它是列表的JSON表示):
"data":[0, 0, -1, -1]
我假设它的意思是 1100(二进制)?
我怎样才能将它([0, 0, -1, -1]
)转换成我可以用于位掩码的东西?
位掩码可以用 int 数据类型(或其变体 int16/int32/int64)完成。如果您在 JSON 中将这些位掩码作为字符串获取,那么首先在 List 中获取它,下面的代码会将 List 转换为整数位掩码。然后可以将此整数 'mask' 值与 & ,| 一起使用位掩码按位运算符。
int mask = 0;
List<int> data = new List<int>() { 1, 1, 0, 1 };
//Here you can iterate list from Left to Right or from Right to Left as per your need
foreach(int i in data)
mask = (mask << 1)|i;
//Bit mask in ready in mask integer
~Nilesh
我有一个这样的List<int>data
(它是列表的JSON表示):
"data":[0, 0, -1, -1]
我假设它的意思是 1100(二进制)?
我怎样才能将它([0, 0, -1, -1]
)转换成我可以用于位掩码的东西?
位掩码可以用 int 数据类型(或其变体 int16/int32/int64)完成。如果您在 JSON 中将这些位掩码作为字符串获取,那么首先在 List 中获取它,下面的代码会将 List 转换为整数位掩码。然后可以将此整数 'mask' 值与 & ,| 一起使用位掩码按位运算符。
int mask = 0;
List<int> data = new List<int>() { 1, 1, 0, 1 };
//Here you can iterate list from Left to Right or from Right to Left as per your need
foreach(int i in data)
mask = (mask << 1)|i;
//Bit mask in ready in mask integer
~Nilesh