2013-01-02 57 views
-2

我想用給定的陣列,以取代最顯著位...替換最低有效位

第一輸入

01001100 
00001000 
10101010 
01010100 
11110110 

第二輸入

0 
1 
1 
1 
0 

輸出

01001100 
00001001 
10101011 
01010101 
11110110 
+0

我沒有得到我嘗試了很多的任何邏輯, – Akash

+0

這可能會幫助你http://stackoverflow.com/questions/10359495/xoring-least-significant-bits-in-java –

+0

是輸入字符串數組? – Jayamohan

回答

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("----------"); 
+0

這是不可能的,因爲這兩個數組都是用戶輸入,並經過大量處理後生成 – Akash

+0

@ user1939093這回答你的問題。數組最終如何形成又是另一個問題。 –

+0

thanx它的工作原理,但它只是輸出的3個值 – Akash

相關問題