Tout d'abord, je pense que cette question n'est pas indépendante de C#. Mais peut également être utilisé dans d'autres langues comme C.Conversion de little endian en int
J'essaie maintenant d'analyser un format de fichier qui stocke des entiers dans 4 octets de format petit-boutiste. TBH, je ne sais pas comment fonctionne le format little-endian ni le format big-endian. Mais j'ai besoin de les convertir en une variable int utilisable.
Par exemple, 02 00 00 00 = 2
Jusqu'à présent, j'ai ce code pour convertir les 2 premiers octets: (je FileStream.Read pour stocker les données brutes en une variable tampon)
int num = ((buffer[5] << 8) + buffer[4]);
Mais il ne convertira que les deux premiers octets. (02 00 dans l'exemple, pas 02 00 00 00)
Toute aide serait appréciée :)
'(données [startIndex + 3] << 24) | (data [startIndex + 2] << 16) '- Pourquoi cela fonctionne-t-il? – alex