Un nombre long peut se REPRESENTER en base 16 (hexadécimal) ou en base 10 (qui nous est plus naturel au super marché), ou dans toute autre base.
10000 LONG fait 00 00 27 10 en hexa (si la calculette Windows est crédible).
Dans fichier, on écrit les octets 00H puis 00H puis 27H puis 10H, ce qui, si on le lit en long donne 10000, ou octet par octet 0 puis 0 puis 39 (décimal) puis 16 (décimal). Si on le lit en short int, ça donnera 0 puis 10000 (décimal) (bien qu'ils soient dans l'ordre LSB/MSB).
Ecrire 10000 en long dans un fichier ou 10000 en short int puis 00 en short int, ou son équivalent octet par octet, c'est IDEM quant au résultat final.