int argb = img.getRGB(x, y);
int rgb[] = new int[] {
((argb >> 16) & 0xff), //red
(argb >> 8) & 0xff , //green
(argb) & 0xff //blue
};
這是數組,我想從零中替換每個元素的最低有效位?在java中將int數組的元素的最低有效位替換爲0的代碼
int argb = img.getRGB(x, y);
int rgb[] = new int[] {
((argb >> 16) & 0xff), //red
(argb >> 8) & 0xff , //green
(argb) & 0xff //blue
};
這是數組,我想從零中替換每個元素的最低有效位?在java中將int數組的元素的最低有效位替換爲0的代碼
是不是簡單得像... & 0xFE
而不是0xFF
?
以下代碼可能對您有所幫助。嘗試這個。
for(int i = 0; i < rgb.length; ++ i){ rgb [i] & = 0xfffffffe; }
你必須添加一些說明.... –
試試這種方法。
int i = 33;
System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));
i = (i >> 1) << 1; // this does the job.
System.out.printf("%d\n%32s\n", i, Integer.toBinaryString(i));
(我以前的答覆是實際上是不正確)
@ user1939093我以前的答覆是不正確的。現在糾正它。 –
這隻有一個字節值。 –
但是,OP顯然將每個字符都移動到範圍0x00-0xFF - 所以它是合適的。 – Andrew