-2

最下位ビットを指定された配列に置き換えたい...

1回目の入力

01001100
00001000
10101010
01010100
11110110

2回目の入力

0
1
1
1
0

出力

01001100
00001001
10101011
01010101
11110110
4

1 に答える 1

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("----------");
于 2013-01-02T07:09:10.253 に答える