我有2个字节数组:ary_a
和ary_b
,两者大小相同。
我想设置ary_a
中每个字节的LSB与ary_b
中每个字节的LSB相同。例如:
数组中的第一个字节:
ary_a[0] = 10110110
ary_b[0] = 00101011
//then ary_a[0] will be:
ary_a[0] = 10110111
第二个字节:
ary_a[1] = 10110111
ary_b[1] = 00101011
//then ary_a[1] will be:
ary_a[1] = 10110111 //does not change
第三
ary_a[2] = 10110111
ary_b[2] = 00101010
//then ary_a[2] will be:
ary_a[2] = 10110110
等等..
答案 0 :(得分:1)
尝试以下代码
Parallel.Invoke(
() =>
{
Console.WriteLine("Begin first task...");
}, // close first Action
async () =>
{
Console.WriteLine("Begin second task...");
while (true)
{
// HERE you are the code you need to be executed in infinite loop
await Task.Delay(60000);
}
}, //close second Action
() =>
{
Console.WriteLine("Begin third task...");
} //close third Action
); //close parallel.invoke
Console.WriteLine("Returned from Parallel.Invoke");
输出:
var ary_a = new byte[]
{
182, //1011 0110
183, //1011 0111
183 //1011 0111
};
var ary_b = new byte[]
{
43, //0010 1011
43, //0010 1011
42 //0010 1010
};
for(var i = 0; i<3; i++)
{
ary_a[i] = (byte)((ary_a[i] & ~1)|(ary_b[i] & 1));
// print output
Console.WriteLine(Convert.ToString(ary_a[i], 2).PadLeft(8, '0'));
}
答案 1 :(得分:0)
employers
首先从每个字节数组索引中获取最低有效位,然后根据其值0或1设置id
。
如果你用1做OR,你将得到最后一位
如果你和〜一起,你将得到最后一位未设置。
如果你用1做AND,那么你将获得最低有效位。
这个解决方案适用于signed int,所以你可以想到基于相同逻辑的unsigned int解决方案。