Преобразование из 2 или 4 байтов в знаковые/беззнаковые короткие/целые

Мне нужно преобразовать байты в знаковые/беззнаковые целые или короткие.

Приведенные ниже методы верны? Какие знаковые, а какие беззнаковые?

Порядок байтов : LITTLE_ENDIAN

public static int convertTwoBytesToInt1(byte b1, byte b2) {
    return (int) ((b2 << 8) | (b1 & 0xFF));
}

VS

public static int convertTwoBytesToInt2(byte b1, byte b2) {
    return (int) (( (b2 & 0xFF) << 8) | (b1 & 0xFF));
}

и

public static int  convertFourBytesToInt1(byte b1, byte b2, byte b3, byte b4){
    return (int) ((b4<<24)+(b3<<16)+(b2<<8)+b1);
}

VS

public static int  convertFourBytesToInt2(byte b1, byte b2, byte b3, byte b4){
    return (int) (( (b4 & 0xFF) << 24) | ((b3 & 0xFF) << 16) | ((b2 & 0xFF) << 8) | (b1 & 0xFF));
}

Меня интересуют толькоэти формы преобразования. Спасибо!

7
задан blackwolf 29 May 2012 в 17:00
поделиться