我正在尝试从结果数组的位中替换 rgb 的最低有效位
for (int k = 0; k < rgb.length ; ++k)
{
for (int n=0; n<rgb[k].length; n++)
{
rgb[k][n] = (rgb[k][n] >> 1) << 1;
rgb[k][n] = rgb[k][n] | result[n];
}
}
rgb是双维数组,结果是单维数组,
RGB 的值类似于
10010110
11000110
10101010
其中结果数组有
0
1
1...
但我没有得到适当的输出..
最佳答案
所以你正在尝试做
int[][] rgb = {{1, 2}, {3, 4}};
int[] result = {0, 1};
for (int[] arr : rgb)
for (int n = 0; n < arr.length; n++)
arr[n] = result[n] == 0 ?
(arr[n] & ~1) /* clear */ :
(arr[n] | 1) /* set */;
for (int[] arr : rgb) {
String sep = "";
for(int i : arr) {
System.out.print(sep + Integer.toBinaryString(i));
sep = ", ";
}
System.out.println();
}
打印
0, 11
10, 101
关于java - 将双维数组的最低有效位替换为单维数组的其他位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143178/