Java中一個byte變量占8個bit,但是在一些特殊的情況下,我們可能需要取其中的高字節或低字節。下面讓我們來看看如何實現:
/** * 獲取byte變量的低字節 * @param data 需要獲取低字節的byte變量 * @return byte 變量的低字節 */ public static byte getLowByte(byte data) { return (byte) (data & 0xFF); } /** * 獲取byte變量的高字節 * @param data 需要獲取高字節的byte變量 * @return byte 變量的高字節 */ public static byte getHighByte(byte data) { return (byte) ((data >>8) & 0xFF); }
代碼中,我們通過位運算來獲取byte變量的高字節或低字節。在獲取低字節時,我們使用了&運算符,它會把一個byte變量與0xFF進行與運算,這樣就保留了變量的低8位。而在獲取高字節時,則通過位移運算把變量右移8位,再進行&運算把變量的高8位保留下來。