Salut,
ce n'est pas tout à fait ça
La longueur en question ici c'est en fait une taille d'une variable en mémoire (jusque là OK). Ici je suppose que tu parles d'offset FSUIPC.
Un offset est en fait l'adresse en mémoire d'une variable. Pour simplifier, FSUIPC crée un fichier d'une taille de l'ordre de 28ko. Ce fichier est une succession d'octets mis bout à bout. L'offset donnera simplement le n° du premier octet qui nous intéresse. Donc $24CE est une valeur hexadécimale qui correspond au 9422ème octet du fichier.
Sauf que les variables de FSUIPC peuvent avoir plusieurs tailles en octets, en fonction des valeurs mini et maxi que peut prendre la variable. Les longueurs varient entre 1 octet et 8 octets.
Donc avoir simplement l'offset ne nous permet de lire correctement la valeur que l'on veut obtenir (car si on lit plus ou moins d'octets que nécessaire, on aura une valeur erronée). Il faut donc fournir la longueur en octets de la variable.
Tu l'as compris, selon ce qu'on met en mémoire, on aura besoin de plus ou moins de place. Théoriquement, pour du on-off (0-1) ou même des valeurs variant de 0 à 256, un seul octet suffirait (octet=8 bits=2 exposant 8 valeurs = 256). Sauf que les processeurs modernes sont dimensionnés pour des chiffres à 32 et 64 bits (pour les CPUs relativement récent), et du coup il est généralement aussi (voire plus) long en temps de lire une variable de 1 ou 2 octets qu'une variable à 4 octets. Donc l'attribution des tailles de variables de FSUIPC ne répond pas à cette logique, mais plus à la structure originelle de la mémoire de FSUIPC au temps de FS98.
Voilà, j'espère ne pas t'avoir trop troublé