我有一个List<int>data
(它是列表的JSON表示形式):
"data":[0, 0, -1, -1]
我认为它的意思是1100(二进制)?
如何将([0, 0, -1, -1]
)转换为可用于位掩码的内容?
答案 0 :(得分:2)
可以使用int数据类型(或其变体int16 / int32 / int64)完成位屏蔽。如果要在JSON中以字符串形式获取这些位掩码,则首先在List中获取该位掩码,下面的代码会将List转换为整数形式的位掩码。然后,可以使用&,|将该整数“掩码”值用于位掩码。按位运算符。
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