Ciao. Nel mio progetto avevo bisogno di metodi che mi convertissero un numero di tipo short in un array di 2 byte e viceversa. Pensavo che lo shift e il cast esplicito fossero sufficienti ma leggendo qua e la sulla rete ho trovato che questi due metodi vanno realizzati in questo modo:
Non capisco perché sia necessario effettuare il confronto bit a bit per realizzare questi due metodi. Se qualcuno mi può dare quanche dritta a riguardo gliene sarei grato.codice://da short senza segno in array di 2 byte private byte[] toByte (short dati) { return new byte[]{(byte)(data & 0xff),(byte)((data >>> 8) & 0xffff)}; } //da array di 2 byte a short senza segno private int toShort (byte[] data) { short tmp= (short)(0xff & data[0] | 0xffff & data[1] << 8 ) ; return tmp; }
![]()

Rispondi quotando