ecrire valeur int sur 3 octets
Bonjour à tous , mon problème est le suivant : j ai 3 octets sur lesquels je dois ecrire la longueur d'un fichier. seulement, meme si ce fichier ne contient qu'un ou 2 octets je dois coder sa taille sur 3 octets (c à dire : tab[0],tab[1],tab[2])
j'ai cherché un peu sur internet et j ai ecrit ce bout de code qui est sensé le faire :
Code:
1 2 3 4 5 6 7
|
int longueur = 1000;
tab[0]=(byte)((byte)longueur & 0xFF);
longueur = longueur>>8;
tab[1]=(byte)((byte)longueur & 0xFF);
longueur = longueur>>8;
tab[2]=(byte)((byte)longueur & 0xFF); |
mais je comprend pas pourquoi il me ressort :
tab[0] --> = -24
tab[1] --> = 3
tab[2] --> = 0
est-ce correct?? merci de m aider