Originariamente inviato da andbin
Se devono essere trattati come 16 bit con segno ... puoi comporre un short o un int (chiaramente come int avresti la estensione del segno sui 16 bit "alti").
short val = (short) (bhigh << 8 | blow & 0xFF);
bhigh e blow sono chiaramente i byte alto e basso.
quindi per trasforamare uno short in byte basta fare il procedimento inverso:
esempio:
short numerodaconvertire=553;
byte partealta=(byte) (numerodaconvertire >> 8);
byte partebassa=(byte)(numerodaconvertire & 0xff));
per la partebassa bisogna fare l' AND bit a bit con 0xff (255) poichè stiamo parlando di 1 byte (quindi 8 bit) e quindi 2^8=256 ?