Besoin d'aide en java
Fermé
Kwarm
Messages postés
4
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
6 septembre 2011
-
1 sept. 2011 à 10:07
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 1 sept. 2011 à 13:02
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 1 sept. 2011 à 13:02
A voir également:
- Besoin d'aide en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
3 réponses
poukkid
Messages postés
106
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
11 avril 2012
11
1 sept. 2011 à 11:36
1 sept. 2011 à 11:36
Salut,
Hmm si tu est débutant, je te conseille de ne pas trop t'attarder sur ce code qui est assez compliqué et rentre dans le langage binaire de tes données, malgré tout si tu veux perséverer tu vas avoir du travail mais c'est très enrichissant et intéressant...
Le & est un "ET" logique et par exemple le fait de faire & 0xff (qui correspond à "11111111" va appliquer ce masque sur les huit premiers bits de poids faible de ta variable sArr[s++].
le | est un "OU" logique
le << ou >> permettent de décaler les bits dans un sens ou dans l'autre...
Hmm si tu est débutant, je te conseille de ne pas trop t'attarder sur ce code qui est assez compliqué et rentre dans le langage binaire de tes données, malgré tout si tu veux perséverer tu vas avoir du travail mais c'est très enrichissant et intéressant...
Le & est un "ET" logique et par exemple le fait de faire & 0xff (qui correspond à "11111111" va appliquer ce masque sur les huit premiers bits de poids faible de ta variable sArr[s++].
le | est un "OU" logique
le << ou >> permettent de décaler les bits dans un sens ou dans l'autre...
Kwarm
Messages postés
4
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
6 septembre 2011
1 sept. 2011 à 12:04
1 sept. 2011 à 12:04
j'étais sur que c'était plutôt le || qui était un ou logique, alors j'ai fais une recherche , et je suis tombé sur un article de ce même site qui explique à peu près, (le | est un ou inclusif) j'ai de la la lecture ;)
par contre, ce que je ne comprend toujours pas, c'est les f qu'on retrouve dans les float/double, et ce 0xff que je ne comprend toujours pas --"
par contre, ce que je ne comprend toujours pas, c'est les f qu'on retrouve dans les float/double, et ce 0xff que je ne comprend toujours pas --"
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 1/09/2011 à 12:45
Modifié par KX le 1/09/2011 à 12:45
Pour les entiers c'est une notation hexadécimale, FF (base 16) = 11111111 (base 2) = 255 (base 10)
Pour les flottants cela indique que c'est une valeur float (double par défaut)
Exemples :
Remarque : mettre un f pour un double (double x = 12.20f) entraîne une perte de précision vu que l'on convertit d'abord la valeur en float avant de le passer en double.
Il serait mieux de mettre alors un d (double x = 12.20d) ou de ne rien mettre (double x = 12.20)
Pour les flottants cela indique que c'est une valeur float (double par défaut)
Exemples :
System.out.println(0xFF); // 255 en base 16 (grâce au préfixe 0x) System.out.println(0377); // 255 en base 8 (grâce au préfixe 0 ) System.out.println(255); // 255 en base 10 (par défaut) float f1 = 0.0; // incorrect (0.0 est un double par défaut) float f2 = 0.0f; // correct float f3 = (float) 0.0; // correct
Remarque : mettre un f pour un double (double x = 12.20f) entraîne une perte de précision vu que l'on convertit d'abord la valeur en float avant de le passer en double.
Il serait mieux de mettre alors un d (double x = 12.20d) ou de ne rien mettre (double x = 12.20)
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
1 sept. 2011 à 13:02
1 sept. 2011 à 13:02
Voici un petit code qui devrait te permettre de voir comment se comportent les différentes notations pour les nombres :
static void afficher(int i) { System.out.println("int\t"+i); } static void afficher(long l) { System.out.println("long\t"+l); } static void afficher(float f) { System.out.println("float\t"+f); } static void afficher(double d) { System.out.println("double\t"+d); } public static void main(String...args) { afficher(010); // int 8 afficher(0x10); // int 16 afficher(10); // int 10 afficher(10L); // long 10 afficher(10F); // float 10.0 afficher(10D); // double 10.0 afficher(10.0); // double 10.0 }
Modifié par KX le 1/09/2011 à 13:02
On peut aussi trouver ~ et ^ (voir la liste des opérateurs)
Pour ta troisème question regarde La gestion des fichiers et des flux de données.