La programmation JAVA - par Ned
3 participants
Page 1 sur 1
La programmation JAVA - par Ned
La programmation JAVA - par Ned
Bonjour à tous.
J'ai commencé à réaliser moi même quelques cours pour le JAVA. Je les mettrai en ligne ici dès que j'aurai avancé. Le premier post me servira pour les mises à jour des cours.
Si vous avez des questions sur le JAVA ou sur un TD/TP/Algo à réaliser, n'hésitez pas à me la poser ici, je surveillerai le sujet.
Cours : Les Opérateurs en JAVA
Re: La programmation JAVA - par Ned
Merci Beaucoup pour ce petit tour d'horizon des opérateurs ! C'est assez intéressant !
Juste une question suite à la lecture du cours.
Comment se passe le complément à 1 ( ~ ) si on lui donne un double ou un int.Si à la base la variable est déjà non signée, elle devient signée sur le même nombre de bits j'imagine ?
Genre si je donne un entier, non signé sur 4bits, qui vaut 15 (1111) et que je fais ~15 (normalement 0000), que va-t-il se passer ? Me donner -1, 0, 1 ? autre chose ?
Merci d'avance pour la réponse :p
Juste une question suite à la lecture du cours.
Comment se passe le complément à 1 ( ~ ) si on lui donne un double ou un int.Si à la base la variable est déjà non signée, elle devient signée sur le même nombre de bits j'imagine ?
Genre si je donne un entier, non signé sur 4bits, qui vaut 15 (1111) et que je fais ~15 (normalement 0000), que va-t-il se passer ? Me donner -1, 0, 1 ? autre chose ?
Merci d'avance pour la réponse :p
Spownik- Messages : 4
Date d'inscription : 02/11/2011
Age : 31
Informations
Nom: Anthony Q.
Groupe: IQ1-C
Re: La programmation JAVA - par Ned
Spownik a écrit:Merci Beaucoup pour ce petit tour d'horizon des opérateurs ! C'est assez intéressant !
Juste une question suite à la lecture du cours.
Comment se passe le complément à 1 ( ~ ) si on lui donne un double ou un int.Si à la base la variable est déjà non signée, elle devient signée sur le même nombre de bits j'imagine ?
Genre si je donne un entier, non signé sur 4bits, qui vaut 15 (1111) et que je fais ~15 (normalement 0000), que va-t-il se passer ? Me donner -1, 0, 1 ? autre chose ?
Merci d'avance pour la réponse :p
Je vais faire une réponse bizarre mais je pense pertinente
JAVA est un langage haut niveau presque totalement orienté objet, pas du tout fait pour se prendre la tête avec ce genre de notions. Je code principalement en JAVA depuis 10 ans et je n'ai jamais eu besoin de cet opérateur (JAVA est plutôt adapté a de la création d'interfaces pour des systèmes d'informations). Par contre j'ai fait pas mal de C/C++ en parallèle il y a quelques années (plutôt pour des programmes bas niveaux liés au réseau ou au système d'exploitation) et là on utilisait couramment les manipulations bit à bit des entiers (systèmes de drapeaux).
Je ne dis pas que l'on ne peut pas faire des opérations bas niveau avec JAVA, je dis juste que ce n'est pas du tout adapté alors que C/C++ l'est tout à fait.
Ahura Mazda- Messages : 24
Date d'inscription : 03/11/2011
Age : 42
Localisation : DIJON
Informations
Nom: François Tavin
Groupe: Prof
Re: La programmation JAVA - par Ned
Merci, bah toute réponse est bonne à prendre, merci beaucoup !
En fait c'était juste de la curiosité. Pour avoir taté un peu de C et C++ (bon ok jsuis pas allé plus loin qu'avec std::cout et std::cin parce que à mon niveau je n'avais pas besoin de plus) et qu'en fait je n'avais jamais vu cet opérateur pour faire un complément à 1, sur le papier jvois comment ça se passe, je voulais savoir si ça se passe à l'identique sur une machine, ou alors si ça varie, sur les opérations sur mots binaires j'ai juste appris à faire les décalage de bits pour multiplier par 2, 4, 8.... Alors voilà bah merci quand même, au moins ça m'indique que l'on peut très bien programmer 10 ans sans l'utiliser en JAVA x)
Au passage, juste une toute petite critique sur le cours déjà très sympathique, je trouve personnellement qu'il manque d'exemples sur la partie "Autres opérateurs" car ce sont peut-être les opérateurs avec lesquels les débutants vont vraiment avoir du mal, genre le décalage de bits, ainsi que les affectations élargies, c'est peut-être pas évident pour tout le monde
Ne serait-ce qu'un petit exemple en fait du genre , 3 << 1 ça donne 6 car on décale le mot binaire 0011 une fois vers la gauche, ce qui double le nombre : 0110 etc...
En fait c'était juste de la curiosité. Pour avoir taté un peu de C et C++ (bon ok jsuis pas allé plus loin qu'avec std::cout et std::cin parce que à mon niveau je n'avais pas besoin de plus) et qu'en fait je n'avais jamais vu cet opérateur pour faire un complément à 1, sur le papier jvois comment ça se passe, je voulais savoir si ça se passe à l'identique sur une machine, ou alors si ça varie, sur les opérations sur mots binaires j'ai juste appris à faire les décalage de bits pour multiplier par 2, 4, 8.... Alors voilà bah merci quand même, au moins ça m'indique que l'on peut très bien programmer 10 ans sans l'utiliser en JAVA x)
Au passage, juste une toute petite critique sur le cours déjà très sympathique, je trouve personnellement qu'il manque d'exemples sur la partie "Autres opérateurs" car ce sont peut-être les opérateurs avec lesquels les débutants vont vraiment avoir du mal, genre le décalage de bits, ainsi que les affectations élargies, c'est peut-être pas évident pour tout le monde
Ne serait-ce qu'un petit exemple en fait du genre , 3 << 1 ça donne 6 car on décale le mot binaire 0011 une fois vers la gauche, ce qui double le nombre : 0110 etc...
Spownik- Messages : 4
Date d'inscription : 02/11/2011
Age : 31
Informations
Nom: Anthony Q.
Groupe: IQ1-C
Re: La programmation JAVA - par Ned
Ces opérateurs sont aussi anecdotiques en JAVA et même en algorithmique en général
En fait vous les étudierez plutôt en Architecture des Systèmes
En fait vous les étudierez plutôt en Architecture des Systèmes
Ahura Mazda- Messages : 24
Date d'inscription : 03/11/2011
Age : 42
Localisation : DIJON
Informations
Nom: François Tavin
Groupe: Prof
Re: La programmation JAVA - par Ned
D'ou le fait que j'en ai peu parlé dans le cours : ils ont été intégrés à JAVA mais ne servent pas où très peu. Pour ta première question je regarderai ce soir ou demain ! :-)
Re: La programmation JAVA - par Ned
Bon je me suis penché sur la question via Netbeans (je ne pense pas que ça change grand chose dans ce cas, mais bon).
D'abord, l'opérateur ~ ne s'applique pas au double, ce qui résout ton problème. En effet, un nombre décimal poserai des problèmes dans ce cas.
Ensuite...
(On obtient -2 pour la valeur 1 ; 0 pour la valeur -1 ; -1 pour la valeur 0)
Ayant eu la flemme de faire une recherche plus poussée sur Google, on en déduit tout de même :
Tu obtiens une valeur de signe opposée (ce qui est normal car le nombre devient signé) et tu as un décalage d'un bit.
Je te laisse tester par toi même si tu veux voir le fonctionnement plus en avant. Mais comme cela a été souligné, cet opérateur ne sers pas. (Je m'en suis servi pour la première fois en JAVA à l'instant pour pouvoir tester). Il servira plus en AS où vous ferez du C et des opérations sur les bits. =)
Pour des informations plus poussée... Je t'invite à essayer ceci.
D'abord, l'opérateur ~ ne s'applique pas au double, ce qui résout ton problème. En effet, un nombre décimal poserai des problèmes dans ce cas.
Ensuite...
ressortira comme valeur -16int test = 15;
test = ~test;
System.out.println(test);
(On obtient -2 pour la valeur 1 ; 0 pour la valeur -1 ; -1 pour la valeur 0)
Ayant eu la flemme de faire une recherche plus poussée sur Google, on en déduit tout de même :
Tu obtiens une valeur de signe opposée (ce qui est normal car le nombre devient signé) et tu as un décalage d'un bit.
Je te laisse tester par toi même si tu veux voir le fonctionnement plus en avant. Mais comme cela a été souligné, cet opérateur ne sers pas. (Je m'en suis servi pour la première fois en JAVA à l'instant pour pouvoir tester). Il servira plus en AS où vous ferez du C et des opérations sur les bits. =)
Pour des informations plus poussée... Je t'invite à essayer ceci.
Re: La programmation JAVA - par Ned
Ah ouais c'est niquel ! Merci beaucoup :p Ouais finalement c'est logique, x) Sympathique tout ça, encore merci ça réponds à mes questions
Curieux de voir la suite du cours j'aime, merci à vous
Curieux de voir la suite du cours j'aime, merci à vous
Spownik- Messages : 4
Date d'inscription : 02/11/2011
Age : 31
Informations
Nom: Anthony Q.
Groupe: IQ1-C
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|