Décalage
Résolu
bonuxdu13
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, mon cours indique les opérateurs de décalage peuvent engendrer des modifications concernant la taille de la variable résultat. Je veux bien des exemples de ceci.
si je décale à gauche, les bits à un finiront par etre perdus/tronqués. Je ne vois pas de dépassement de capacité possible sur le type de la variable. Seulement un résultat faux ou indéfini possible. Si je décale à droite les valeurs stockées sont plus petites, mais bon le type de la variable ne change pas, c'est possible puisqu'on peut bien coder une valeur inférieure à 256 (pour du non signé par exemple) dans un entier long si on en a envie. Mais bon je pense que le terme "taille" de la variable de mon cours fait référence à celle du type de celle ci, fixe. Cette phrase est un non sens pour moi. Pouvez vous m'eclairer?
si je décale à gauche, les bits à un finiront par etre perdus/tronqués. Je ne vois pas de dépassement de capacité possible sur le type de la variable. Seulement un résultat faux ou indéfini possible. Si je décale à droite les valeurs stockées sont plus petites, mais bon le type de la variable ne change pas, c'est possible puisqu'on peut bien coder une valeur inférieure à 256 (pour du non signé par exemple) dans un entier long si on en a envie. Mais bon je pense que le terme "taille" de la variable de mon cours fait référence à celle du type de celle ci, fixe. Cette phrase est un non sens pour moi. Pouvez vous m'eclairer?
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, il me semble que le type du résultat d'une operation est fixe, à fortiori si le résultat est enregistré dans une variable.
si tu nous donnes plus de contexte, nous y trouverons peut-être un sens.
si tu nous donnes plus de contexte, nous y trouverons peut-être un sens.
Salut bonuxdu13,
Le terme "taille" fait référence à celle du type, oui, mais cela pourrait s'interpréter de la façon suivante :
En cas de décalage à gauche, pour éviter d'obtenir un résultat "faux" (non tronqué) de l'opération, il est nécessaire d'affecter préalablement le contenu d'une variable d'un certain type à un type semblable de plus grande taille.
Evidemment, cela ne se fait pas tout seul, c'est un point d'attention requis du programmeur.
Dal
Le terme "taille" fait référence à celle du type, oui, mais cela pourrait s'interpréter de la façon suivante :
En cas de décalage à gauche, pour éviter d'obtenir un résultat "faux" (non tronqué) de l'opération, il est nécessaire d'affecter préalablement le contenu d'une variable d'un certain type à un type semblable de plus grande taille.
Evidemment, cela ne se fait pas tout seul, c'est un point d'attention requis du programmeur.
Dal