[LGJ]Ce Code contient uen erreur... OU??

Page 3 sur 3 Précédent  1, 2, 3

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

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Invité le Jeu 05 Juin 2008, 16:17

nvs a écrit:
Herbiti a écrit:puis 2 ne rentre pas dans un short, ni dans un byte mais rentre dans un float, un double, un long.
la conversion implicite se fait du plus petit (ici int) au plus grand (ici float, double, long)...
pour rendre 2 short, il faut obligatoirement le caster!
il me semble que tu t'emballes un peu là, Herbiti...







je parlais en sens java du terme...

en C++, on peut tout mettre dans n'importe quoi... (je parle des types primitifs)

Invité
Invité


Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Invité le Jeu 05 Juin 2008, 16:19

Gustavo a écrit:
nvs a écrit:
Herbiti a écrit:Et pour en revenir aux types, sais-tu qu'il n'existe pas de type bien défini bool en C++?
Un bool en C++ est un int déguisé.
ce n'est pas vrai. le type bool existe réellement en c++. et il existe un transtypage implicite de bool vers int et réciproquement. mais pas de promotion numérique comme entre char et int.

par contre, en c, il n'existe pas de type booléen. et le type char est un int déguisé. là d'accord Smile








Et donc si on veut manipuler des opération booléenne en C comment on fait ? On utilise un autre type comme un int par exemple ? Un peu comme on fait en asm ou on met une variable à 1 ou 0 pour 'simuler' un vrai ou faux ?

En C++ par contre le type bool est plus au moins identque à boolean de Java ? ( dans le sens ou il ne peut avoir que la valeur "true" ou "false") ?
edit: Herbiti à déj répondu a ma deuxième question avant que je poste

en C, tu peux définir tes propres types: donc tu peux définir ton type booléen que tu utiliseras...

un code C:
Code:
typedef enum{false, true} bool;

te permet d'avoir un pseudo-booléen en C.

Invité
Invité


Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Gustavo le Jeu 05 Juin 2008, 16:21

Herbiti a écrit:
Gustavo a écrit:
nvs a écrit:
Herbiti a écrit:Et pour en revenir aux types, sais-tu qu'il n'existe pas de type bien défini bool en C++?
Un bool en C++ est un int déguisé.
ce n'est pas vrai. le type bool existe réellement en c++. et il existe un transtypage implicite de bool vers int et réciproquement. mais pas de promotion numérique comme entre char et int.

par contre, en c, il n'existe pas de type booléen. et le type char est un int déguisé. là d'accord Smile








Et donc si on veut manipuler des opération booléenne en C comment on fait ? On utilise un autre type comme un int par exemple ? Un peu comme on fait en asm ou on met une variable à 1 ou 0 pour 'simuler' un vrai ou faux ?

En C++ par contre le type bool est plus au moins identque à boolean de Java ? ( dans le sens ou il ne peut avoir que la valeur "true" ou "false") ?
edit: Herbiti à déj répondu a ma deuxième question avant que je poste

en C, tu peux définir tes propres types: donc tu peux définir ton type booléen que tu utiliseras...

un code C:
Code:
typedef enum{false, true} bool;

te permet d'avoir un pseudo-booléen en C.

C'est un bonne méthode oui, par contre il n'y a pas de type primitif pour ça ?

Gustavo

Nombre de messages : 260
Age : 29
Prénom : Renaud
Statut : étudiant 4SEC
Date d'inscription : 10/01/2008

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Invité le Jeu 05 Juin 2008, 16:25

nvs a écrit:
Herbiti a écrit:Et pour en revenir aux types, sais-tu qu'il n'existe pas de type bien défini bool en C++?
Un bool en C++ est un int déguisé.
ce n'est pas vrai. le type bool existe réellement en c++. et il existe un transtypage implicite de bool vers int et réciproquement. mais pas de promotion numérique comme entre char et int.

par contre, en c, il n'existe pas de type booléen. et le type char est un int déguisé. là d'accord Smile








je voulais dire que:
- le type bool n'est pas aussi fort qu'en java
- le type bool est un type numérique, pas comme en java

Invité
Invité


Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Invité le Jeu 05 Juin 2008, 16:26

Gustavo a écrit:
Herbiti a écrit:
Gustavo a écrit:
nvs a écrit:
Herbiti a écrit:Et pour en revenir aux types, sais-tu qu'il n'existe pas de type bien défini bool en C++?
Un bool en C++ est un int déguisé.
ce n'est pas vrai. le type bool existe réellement en c++. et il existe un transtypage implicite de bool vers int et réciproquement. mais pas de promotion numérique comme entre char et int.

par contre, en c, il n'existe pas de type booléen. et le type char est un int déguisé. là d'accord Smile








Et donc si on veut manipuler des opération booléenne en C comment on fait ? On utilise un autre type comme un int par exemple ? Un peu comme on fait en asm ou on met une variable à 1 ou 0 pour 'simuler' un vrai ou faux ?

En C++ par contre le type bool est plus au moins identque à boolean de Java ? ( dans le sens ou il ne peut avoir que la valeur "true" ou "false") ?
edit: Herbiti à déj répondu a ma deuxième question avant que je poste

en C, tu peux définir tes propres types: donc tu peux définir ton type booléen que tu utiliseras...

un code C:
Code:
typedef enum{false, true} bool;

te permet d'avoir un pseudo-booléen en C.

C'est un bonne méthode oui, par contre il n'y a pas de type primitif pour ça ?

nvs a signalé que le type bool n'existait pas en C

Invité
Invité


Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  AngelKML le Jeu 05 Juin 2008, 16:33

[quote="Herbiti"]
AngelKML a écrit:je crois plutot que si ce n'est pas 0 c'est faux un truc du genre enfin je crois j'attends qu'herbiti me descende.

Au fait il a raison 2 ou 4 peuvent être des entiers comme des doubles des floats des short des bytes etc tout dépend du type de ta variable du à la conversion implicite pas forcement besoin de le spécifier à part dans le cas d'un appel de méthode ou de fonction. Comme ça chacun des deux acharnés aura eu raison Razz

alors, si ce n'est pas 0, en C/C++, c'est true...

puis 2 ne rentre pas dans un short, ni dans un byte mais rentre dans un float, un double, un long.
la conversion implicite se fait du plus petit (ici int) au plus grand (ici float, double, long)...
pour rendre 2 short, il faut obligatoirement le caster!

++
tu dis que des bêtises quand tu t'énerves Razz

j'ai fait ce code juste pour toi

public class MaClasse{
public static void main (String [] args){
int a=3;
short b=4;
byte c=5;
System.out.println("Maintenant chuut et étudie System");
}
}

et si tu as un doute exécute tu n'en auras plus aucun Razz

AngelKML

Nombre de messages : 296
Age : 28
Prénom : Kamel
Statut : Ancien informatiCHIEN reconvertit en INSTIT
Localisation : Bruxelles Ixelles 1050 Rue du trône dans dans ma chambre
Date d'inscription : 07/01/2007

http://angelk.skyblog.com

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  erka le Jeu 05 Juin 2008, 16:35

exécute ??? du java

erka

Nombre de messages : 495
Age : 29
Prénom : Julian
Statut : ancien reseaux
Localisation : Charleroi
Date d'inscription : 23/10/2006

http://www.vanden.be

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Invité le Jeu 05 Juin 2008, 16:37

[quote="AngelKML"]
Herbiti a écrit:
AngelKML a écrit:je crois plutot que si ce n'est pas 0 c'est faux un truc du genre enfin je crois j'attends qu'herbiti me descende.

Au fait il a raison 2 ou 4 peuvent être des entiers comme des doubles des floats des short des bytes etc tout dépend du type de ta variable du à la conversion implicite pas forcement besoin de le spécifier à part dans le cas d'un appel de méthode ou de fonction. Comme ça chacun des deux acharnés aura eu raison Razz

alors, si ce n'est pas 0, en C/C++, c'est true...

puis 2 ne rentre pas dans un short, ni dans un byte mais rentre dans un float, un double, un long.
la conversion implicite se fait du plus petit (ici int) au plus grand (ici float, double, long)...
pour rendre 2 short, il faut obligatoirement le caster!

++
tu dis que des bêtises quand tu t'énerves Razz

j'ai fait ce code juste pour toi

public class MaClasse{
public static void main (String [] args){
int a=3;
short b=4;
byte c=5;
System.out.println("Maintenant chuut et étudie System");
}
}

et si tu as un doute exécute tu n'en auras plus aucun Razz

affraid affraid affraid affraid affraid affraid

désolé... je vérifierai mes dires plus souvent...

/me qui est super honteux de m'être gouré...

c surement système qui me tape sur les nerfs... Very Happy


Dernière édition par Herbiti le Jeu 05 Juin 2008, 16:40, édité 2 fois

Invité
Invité


Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  AngelKML le Jeu 05 Juin 2008, 16:38

bah tu compiles
javac MaClasse.java

puis

tu execute :
java MaClasse

fatigué erka Very Happy

AngelKML

Nombre de messages : 296
Age : 28
Prénom : Kamel
Statut : Ancien informatiCHIEN reconvertit en INSTIT
Localisation : Bruxelles Ixelles 1050 Rue du trône dans dans ma chambre
Date d'inscription : 07/01/2007

http://angelk.skyblog.com

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  erka le Jeu 05 Juin 2008, 16:41

tu exécutes la jvm qui interprète ton bytecode ... si je ne me trompe point

erka

Nombre de messages : 495
Age : 29
Prénom : Julian
Statut : ancien reseaux
Localisation : Charleroi
Date d'inscription : 23/10/2006

http://www.vanden.be

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  nvs le Jeu 05 Juin 2008, 16:45

AngelKML a écrit:j'ai fait ce code juste pour toi
Code:
public class MaClasse{
   public static void main (String [] args){
      int a=3;
      short b=4;
      byte c=5;
      System.out.println("Maintenant chuut et étudie System");
   }
}
c'est le seul cas où le compilateur javac est assez malin pour comprendre que 4 et 5 sont à interpréter comme un short et un byte, respectivement. dans les autres cas, comme l'appel d'une méthode (voir le tout premier message de ce fil de discussion), il les considère comme des int. Herbiti a donc raison (et java, sur ce coup, est, à mon avis, mal foutu) Smile








_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  nvs le Jeu 05 Juin 2008, 16:47

erka a écrit:tu exécutes la jvm qui interprète ton bytecode ... si je ne me trompe point
oui, mais comme la jvm transforme le byte code en binaire exécutable sur le système hôte, l'abus de langage me semble tolérable Wink








_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  erka le Jeu 05 Juin 2008, 16:49

Very Happy

erka

Nombre de messages : 495
Age : 29
Prénom : Julian
Statut : ancien reseaux
Localisation : Charleroi
Date d'inscription : 23/10/2006

http://www.vanden.be

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  AngelKML le Jeu 05 Juin 2008, 16:50

nvs a écrit:
AngelKML a écrit:j'ai fait ce code juste pour toi
Code:
public class MaClasse{
   public static void main (String [] args){
      int a=3;
      short b=4;
      byte c=5;
      System.out.println("Maintenant chuut et étudie System");
   }
}
c'est le seul cas où le compilateur javac est assez malin pour comprendre que 4 et 5 sont à interpréter comme un short et un byte, respectivement. dans les autres cas, comme l'appel d'une méthode (voir le tout premier message de ce fil de discussion), il les considère comme des int. Herbiti a donc raison (et java, sur ce coup, est, à mon avis, mal foutu) Smile








J'ai juste dit qque sur ce cas là c'était moi qui avait raison je n'ai jamais dit que java était bien foutu loin de là je serais plutôt de l'avis de thibaut qui préfère penser par lui même que d'avoir un langage qui fait tout pour vous

AngelKML

Nombre de messages : 296
Age : 28
Prénom : Kamel
Statut : Ancien informatiCHIEN reconvertit en INSTIT
Localisation : Bruxelles Ixelles 1050 Rue du trône dans dans ma chambre
Date d'inscription : 07/01/2007

http://angelk.skyblog.com

Revenir en haut Aller en bas

Re: [LGJ]Ce Code contient uen erreur... OU??

Message  Contenu sponsorisé Aujourd'hui à 10:58


Contenu sponsorisé


Revenir en haut Aller en bas

Page 3 sur 3 Précédent  1, 2, 3

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