我想用给定的数组替换最低有效位...
第一次输入
01001100
00001000
10101010
01010100
11110110
第二次输入
0
1
1
1
0
输出
01001100
00001001
10101011
01010101
11110110
答案 0 :(得分:1)
试试这个(使用java 7)
int [] i = {0b01001100,
0b00001000,
0b10101010,
0b01010100,
0b11110110 };
int [] j = {0b0,
0b1,
0b1,
0b1,
0b0 };
for (int k = 0; k < i.length ; ++k){
i[k] = (i[k] >> 1) << 1; // this sets the last bit to zero
i[k] = i[k] | j[k]; // Now you can OR to get replace with the proper value
}
for(int k : i)
System.out.printf("%8s\n",Integer.toBinaryString(k));
System.out.println("----------");