1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public static short bigEndianBytes2Short(byte b1, byte b2) {
// shift de 8 bits.
// En Java un shift convertit en int, donc on doit cast vers short
short high = (short)(b1 << 8);
// Masquer les bits de poids fort, ne retenir que les 8 bits de poids faible.
// Cela est nécessaire car b2 pourrait être négatif, auquel cas son extension sera négative aussi,
// avec bits de poids fort à 1
// En Java les opérateurs bit-à-bit convertissent en int, donc on doit caster vers short.
short low = (short)(b2 & 0xFF);
// Composer les deux.
return (short)(high | low);
}
public static short littleEndianBytes2Short(byte b1, byte b2) {
// version courte
return (short)((b2 << 8) | (b1 & 0xFF));
} |
Partager