sto cercando di rappresentare il numero di porta 9876 (o 0x2694 in esadecimale) in un array di due byte:Rappresentazione di un numero in un array di byte (programmazione Java)
class foo {
public static void main (String args[]) {
byte[] sendData = new byte[1];
sendData[0] = 0x26;
sendData[1] = 0x94;
}
}
ma ottengo un avvertimento sui possibili perdita di precisione:
Come si può rappresentare il numero 9876 in un array a due byte senza perdere la precisione?
NOTA: Ho selezionato il codice da @ Björn come risposta corretta, ma anche il codice di @glowcoder funziona correttamente. È solo un approccio diverso allo stesso problema. Grazie a tutti!
noti che appiattimento strutture di dati per l'invio oltre il filo di solito è fatto con un DataOutputStream (o la sua sottoclasse ObjectOutputStream) in Giava. Non c'è bisogno di reinventare il bit-stop ogni volta :-) – meriton
@meriton: e meglio ancora, usa 'java.nio.ByteBuffer' che può fare tutto questo, non avere a che fare con IOException e controllare anche l'endianness. –