[LAJ1] Les types

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAJ1] Les types

Message  bigmax le Ven 28 Mai 2010, 12:10

Bonjour, j'ai une petite question concernant les types..

Lorsque on utilise par exemple dans le code un : for(int i=0;i<10;i++)
Pourquoi int plutôt que byte ou short?

bigmax

Nombre de messages : 132
Age : 27
Prénom : Gilles
Statut : 3ème Réseaux
Date d'inscription : 17/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  mcd le Ven 28 Mai 2010, 12:47

Parce que, en pratique, "byte" ou "short" ne te fera rien gagner.

- Tu perds en vitesse car tous les calculs que tu feras avec "i" demanderont une conversion en "int" vu qu'il n' a pas de calcul avec des "byte" ou des "short" (idem si sert d'indice dans un tableau)

- Au mieux tu gagneras 2 ou 3 bytes en mémoire ce qui est négligeable. En plus il est fort probable que le compilateur optimise le code et garde "i" dans un registre du processeur (sans allocation de mémoire donc). Dans ce ce cas, tu ne gagnes strictement rien.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  pbt le Ven 28 Mai 2010, 12:53

Parce que même s'il existe des types byte et short le type entier "par défaut" est int. Si tu relis les notions de conversions, tu verras qu'il y en a quelques unes qui se font vers int.

Extrait de Langage Specification p485 a écrit:
(...) At run time, if evaluation of the operand expression completes abruptly, then the postfix increment expression completes abruptly for the same reason and no incrementation occurs. Otherwise, the value 1 is added to the value of the variable and the sum is stored back into the variable. Before the addition, binary numeric promotion (§5.6.2) is performed on the value 1 and the value of the variable. If
necessary, the sum is narrowed by a narrowing primitive conversion (§5.1.3) and/ or subjected to boxing conversion (§5.1.7) to the type of the variable before it is stored. The value of the postfix increment expression is the value of the variable before the new value is stored. (...)

Tu constates ici qu'une post-incrémentation (i++) comprend une addition (i+1) et sa promotion numérique éventuelle ... ton byte/short deviendrait donc un int à un moment donné.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  bigmax le Ven 28 Mai 2010, 13:59

En effet j'aurais peut être du continuer jusqu'au conversions avant de poser la question..
Mais les explications que vous m'avez donné sont plus claires que dans les slides !

Merci !

bigmax

Nombre de messages : 132
Age : 27
Prénom : Gilles
Statut : 3ème Réseaux
Date d'inscription : 17/11/2007

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  pbt le Ven 28 Mai 2010, 14:32

bigmax a écrit:En effet j'aurais peut être du continuer jusqu'au conversions avant de poser la question..
Mais les explications que vous m'avez donné sont plus claires que dans les slides !

Merci !
C'est pour ça que l'on parle lorsque l'on projette les slides au cours ;-)

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  Anthoblack le Ven 28 Mai 2010, 15:33

pbt a écrit:C'est pour ça que l'on parle lorsque l'on projette les slides au cours ;-)
Sympa cette pratique !

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

Re: [LAJ1] Les types

Message  Contenu sponsorisé Aujourd'hui à 08:46


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum