java - 将双维数组的最低有效位替换为单维数组的其他位

标签 java

我正在尝试从结果数组的位中替换 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/

相关文章:

java - 无法限制 Android 应用程序的 google Api key

java - 从 .java 文件获取类引用以进行 JUnit 测试

java - 从 JPA/EJB3 持久性上下文中分离实体

java - 当 f :validateRegex fails 时,JSF 不会更新 View 中的值

java - 将 map 复制到另一个新 map

java - Flink流, 'sum'到底是做什么的?

java - JTextPane 为所有内容而不是少数字符着色

java - 方法 org.osgi.framework.Version.toString() 是线程安全的吗?

java - 为什么 Java 在配置 JMX 时会打开 3 个端口?

java - ResponseHandler 无法在 Android 的 SOAP Web 服务中工作?