représentations little et big-endian

a marqué ce sujet comme résolu.

Bonjour,j’ai besoin d’aide pour un exercicee On donne le contenu d’une zone mémoire et la valeur de certaines données provenant de cette zone mémoire. l’objectif est d’indiquer si les données sont en format big-endian, little-endian ou illégal. Pour la première donnée j’ai pu déterminer que sont format était big-endian parce que cette donnée se retrouvait dans le tableau mais je suis perdu pour les autres données.

+0 -0

Hello, en faite tu les retrouves tous dans le tableau. Tu as une succession d’adresses par blocs de 8 octets. Si on prend la C par exemple, tu commences à lire à partir de l’octet 1 à l’adresse 123A0030. Et donc en fonction du sens de lecture, comme tu l’as bien compris, tu détermines si c’est big-endian ou little-endian. Si tu ne sais définitivement pas … c’est illégal (je te laisse chercher :p mais c’est super simple).

Edit : Jacen est plus compétence que moi, sa réponse est plus précise. Je laisse cette réponse pour les gens qui passeront sur le topic et qui ne savent pas du tout comment s’y prendre avec ce type d’exercice.

+0 -0

Tu peux faire l’exercice dans l’autre sens:

Pour chaque donnée, détermine la taille de la donnée proposée (1, 2, 4 ou 8 bytes), puis donne le contenu des adresses en avec une interprétation big-endian et little-endian. Est ce qu’une de ces deux valeurs correspond à la valeur proposée ?

Enfin, j’ai une question concernant le "illégal": comment est défini illégal ? Parce qu’en soit, une représentation autre que big ou little endian n’est pas intrinsèquement illégale. De plus, l’exercice ne propose que des représentations big ou little endian. En revanche, ce qui peut être illégal, sur certaines architectures, c’est de faire des accès mémoire à des adresses non-alignés sur la taille de la donnée lue, et, dans le cas présent, les accès c, f et i ne sont pas alignés.

+0 -0

Tu peux faire l’exercice dans l’autre sens: Enfin, j’ai une question concernant le "illégal": comment est défini illégal ?

[Jacen]

Bonjour , comme l’a defini Yarflam , on parle d’illégale lorsque le sens de lecture ne se fait ni de gauche à droite ni dans l’autre sens (de ce que j’ai compris aussi) sauf que dans le cas du f) le sens de lecture se fait de la gauche vers la droite (big-endian) mais dans la correction de mon TD c’est bien écris illégal —' pour les accès c et i je suis d’accord du non alignement mais le f) me semble bien aligné

+0 -0

Je pense que la remarque de @Jacen suggérait en fait qu’on pourrait techniquement envisager d’autres boutismes plus exotiques que les deux classiques que sont le gros et le petit boutisme (par exemple le mi-boutisme / Middle-endian.) Dès lors qu’une machine est conçue pour s’y retrouver ainsi, cette représentation ne pourrait être qualifiée de « illégale », dans ce sens.

Mais je pense qu’on sort du cadre de ton exercice qui semble présupposer qu’il n’existe que les deux boutismes classiques : petit et grand (little- et big-endian). ^^

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte