对于两个长度相等的字节数组 A 和 B,我想找到字节数组 A 中在字节数组 B 中设置的第一个未设置位,并返回该位的从零开始的索引或位置。我怎样才能这样做?
例如:
A: 1111 0000 0101
B: 1111 0000 1010
^
最佳答案
试试这个:
int length = A.length<B.length? A.length:B.length;
for (int i=0; i<length; i++)
{
int x = A[i]^B[i];
if (x != 0)
{
for (int j=0; true; j++)
{
if ((x&1) == 1)
return Byte.SIZE*i+j;
x >>= 1;
}
}
}
return -1;
关于java - 在 Java 中,如何迭代两个字节数组的位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22900149/