IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Petit problème d'algo sur les entiers


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 584
    Par défaut Petit problème d'algo sur les entiers
    Bonjour,
    me voila de retour sur "Developpez", afin d'essayer de comprendre mon problème.

    Voila voila, j'ai repris les cours, et en Architecture des ordinateurs, nous devons nous familiariser avec la classe Integer, donc conversion de binaire, hexadécimal...

    Outre le fait que je ne comprend rien à l'énoncer, j'aimerais comprendre ce qui cloche dans mon bout de code cherchant à compter le nombre de "1" contenu dans un entier.

    Voici l'énoncer: " En utilisant les fonctions prédéfinies de la classe Integer et le nombre 0x7F00 0001 écrivez l’instruction qui affiche en décimal le nombre de bits à 1 dans un nombre entier


    Voici mon code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public static void main (String [] args){
     
    	int valeur=0x7F000001;
    	int cpt=0;
    	String conversionChaine;
    	int ind;
     
     
    	conversionChaine= (String)Integer.toBinaryString (valeur);
     
    	int nbLettre = conversionChaine.length();
     
    	for (ind=0; ind < (nbLettre-1); ind+=1){
    		if (conversionChaine.charAt(ind) == 1){
    			cpt+=1;
     
    		}
    	}
     
    	System.out.print(conversionChaine);
    	System.out.print ("\n" + cpt + "\n");
    }
    Merci d'avance de votre aide

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Bonjour
    J'ai un peu de mal à comprendre votre démarche. Vous dites ne pas comprendre l'énoncé, mais vous fournissez quand même une réponse ?! Donc, même si ce n'est pas correcte, qu'avez-vous compris exactement de cette énoncé ?
    Je penses franchement qu'en lisant attentivement la question, avec un peu de volonté...
    Bref, pour vous aider un peu malgré tout, la réponse d'après ce que je comprends moi de cette énoncé ne tient qu'en une instruction, donc en une seule ligne de code. Hors vous avez écrit tout une méthode ???
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 584
    Par défaut
    En fait, je comprend l'énoncer que j'ai écrit, ou du moins je pense l'avoir compris
    Ce sont les autres questions (que je n'ai pas écrit), que je ne comprend pas.
    De ce que j'ai compris pour l'énoncé taper ci dessus, il faut compter le nombre de chiffre ayant comme valeur "1", d"un nombre entier.

  4. #4
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut D'accord
    En clair, il faut dire sous forme décimale combien de bits à 1 sont contenus dans la représentation binaire d'un entier quelconque.
    Pour ce qui est de votre code, vous avez fait une erreur dans la définition de votre boucle qui vous fait omettre le dernier caractère de votre chaîne. Soit vous remplacez < par <=, ou bien vous ne soustrayez plus 1 de la longueur de votre chaîne...
    Par contre, sans vouloir vous offenser, vous ne répondez pas à la question puisque cette dernière implique une réponse sous forme d'instruction, et non de méthode. Cela signifie que la réponse tient en une seule ligne de code...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 584
    Par défaut
    Je vous remercie pour votre réponse.
    En fait dans ma boucle j'avais considéré le String comme un tableau (faute inattention), d'où le nbLettre-1.

    Mais je ne vois pas comment faire sous forme d'instruction
    Car il faut quand même parcourir l'entier pour compter le nombre de 1 ?

  6. #6
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Et bien
    La réponse est dans la question, les 9 premiers mots pour être précis...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit algo sur les combinaisons
    Par Blaede dans le forum Mathématiques
    Réponses: 5
    Dernier message: 02/03/2008, 23h51
  2. [DOM] Problème d'accent sur les noms de fichier avec mon parseur
    Par ujoodha dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/04/2006, 21h55
  3. Petit problème de conception sur access
    Par coooookinette dans le forum Modélisation
    Réponses: 3
    Dernier message: 18/12/2005, 18h24
  4. Réponses: 24
    Dernier message: 27/09/2005, 21h16
  5. un petit problème d'algo
    Par supertramp dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 12/10/2004, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo