我试图从结果数组的位
替换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 ...
但我得不到合适的输出..
答案 0 :(得分:3)
所以你要努力
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