Salut tout le monde
je suis en train de me prendre la tête sur du code et avant que tout finisse dans un mur j'aurais besoin de votre aide !
je dispose d'un fichier binaire et je développe un parseur pour récupérer des données...
en gros tout fonctionne bien sauf quand je dois récupérer des entiers signés
j'ouvre mon fichier dans un BufferedInputStream et je crée un tableau de byte qui s'appelle buffer
Code :
- while(bytesRemaining>0)
- {
- buffer[bytesRead] = (byte) br.read();
- bytesRead ++;
- bytesRemaining --;
- }
|
ensuite je manipule les bytes et là je patine
pour lire un entier non signé sur 2 octets je fais comme ça :
Code :
- int value = ((((int)buffer[1])&0xff)<<8) + ((((int)buffer[0])&0xff)<<0);
|
mais comment je fais pour lire des entiers signés ?
bêtement je pensais que c'était comme ça mais j'aimerais avoir confirmation :
Code :
- int value = (((int)buffer[1])<<8) + ((((int)buffer[0])&0xff)<<0);
|
merci