2012-11-20 44 views
2

我有這個byte/int0001 001018)。我需要這個byte/int分成將一個字節轉換爲4位數後分隔的兩個int值

0001 000016)和 0000 00102)。

我該怎麼做到這一點在Java?

+0

這是你的教授。有多少次我提出使用StackOverflow之後,你想出了一些東西? – kjy112

+0

哈哈哈:)沒有什麼比這更糟的了。 @ Freak2000 - 隱藏在某個地方。你被抓到了。 ;) –

+0

哈哈,也許我應該在發佈我的答案之前檢查了意見 – durron597

回答

3

&是按位與。 -1611110000二進制,1500001111

public static byte[] split(byte input) { 
    byte[] output = new byte[2]; 

    output[0] = (byte) (input & -16); 
    output[1] = (byte) (input & 15); 

    return output; 
} 
+3

而不是15和-16,你也可以使用'0x0f'和'(byte)0xf0'。 –

+0

+1這似乎是最好的方式。 – arshajii

+0

或者如果您使用的是Java 7,則使用'0b11110000'和'0b00001111'。 – Jesper

相關問題