Coder un algo pour compter de 1 à 8 en binaire [Résolu]

Messages postés
22
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
14 décembre 2012
- - Dernière réponse : cs_sondos01
Messages postés
22
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
14 décembre 2012
- 12 juin 2010 à 21:21
  Salut à tous,

Je voulais savoir si quelqu'un aurait une idée comment faire pour incrémenter une variable de 1 à 10 en binaire, en Java bien sure. Pour être plus précis voilà ce que je veux faire.


Je veux créer un tableau T[8][3] de taille 8x3. Dans chaque ligne, je met une valeur (de 0 à 8). Je souhaite ensuite mettre dans chaque ligne du tableau les valeurs ci-dessous dans l'ordre. L'objectif est par la suite de supprimer toutes les lignes du tableau qui commence par un 0 pour dans T[][0]. ( Je vais donc devoir supprimé 000, 001,010,011)

000
001
010
011
100
101
110
111



Merci pour votre aide.
Afficher la suite 

8 réponses

Meilleure réponse
3
Merci
Salut,

int iBase10 = 1;
         String iBase2 = "";
         
         System.out.println("Representation binaire des valeurs 1 >>>> 8:");
         for(iBase10 = 1; iBase10<9; iBase10++)
         {
            iBase2 = Integer.toBinaryString(iBase10);
            iBase2 =
               (iBase2.length()>3?"":"0") + (iBase2.length()>2?"":"0")
               + (iBase2.length()>1?"":"0") + iBase2;
            System.out.println(iBase10 + " : " + iBase2);
         }


Cordialement,


...\ Dan /...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
0
Merci
salut

simplement
// Parse and format to binary 
bi = new BigInteger("1111111111", 2); // 1023 
String s = bi.toString(2); // 1111111111 
Commenter la réponse de nhervagault
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
250
0
Merci
Regarde cette source, ca devrait t'aider http://www.javafr.com/codes/CONVERSION-DECIMAL-VERS-BINAIRE_26456.aspx
Commenter la réponse de cs_Julien39
Messages postés
22
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
14 décembre 2012
0
Merci
Désolé d'être un peu lent à la détente..

 @nhervagault
c'est quoi exactement le type de bi? un

@julien39
Merci

@Dan
Merci pour cette réponse. Ca marche!!

Somz ;-)
Commenter la réponse de cs_sondos01
0
Merci
Ps,

Bien entendu, le tableau dans lequel tu ranges est un tableau de String et les données sont en ordre croissant (1 à 8 dans l'exemple)


...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
22
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
14 décembre 2012
0
Merci
Salut Dan,


une petite question concernant ton code.. J'ai essayé d'enlever la partie ci dessous et ca enlève les 0, ce qui donne pas toujours les 4 bits. Je voulais simplement savoir à quoi ca correspond le "?" et le ":" ..dans le (iBase2.length()>3?"":"0")

Merci,

Somz

 

iBase2 =
               (iBase2.length()>3?"":"0") + (iBase2.length()>2?"":"0")
               + (iBase2.length()>1?"":"0") + iBase2;


Commenter la réponse de cs_sondos01
0
Merci
Salut Somz,

Je m'attendais un peu à cette question.

J'utilise ce qu'on appelle l'opérateur conditionnel nommé aussi opérateur ternaire.

Format:

opérande1 ? opérande2 : opérande3

Fonctionnement:

-opérande1 doit être une expréssion booléenne.
-si lŽévaluation de opérande1 est true, le résultat de l'expréssion conditionnelle est opérande2.

-si false, résultat de l'expréssion conditionnelle est opérande3.

Exemple:

J'ai un nombre de jours à afficher sous la forme "dans 5 jours" ou "dans 1 jour"

J'utilise donc (nombreDeJours>1?"s":""); ce qui signifie:

Si le nombre de jours est >1 (?) ajouter un "s" à "jour"
sinon (:) ajouter "" donc ne rien ajouter à "jour"

int nombreDeJours = 5; // avec 5 on affichera 5 jours, avec 1, 1 jour 
         String jours = "jour" +
            (nombreDeJours>1?"s":"");
         System.out.println("dans " + nombreDeJours + " " + jours);



Avec ce code on ajoute quelque chose au libellé "jour" (s ou rien)

Avec le code de ma réponse on ajoute 1, 2 ou 3 zéros avant le libellé iBase2 en fonction de sa longueur qui varie de 1 à 4.

Cordialement


...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
22
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
14 décembre 2012
0
Merci
 C'est très clair maintenant :)

Merci,

Somz
Commenter la réponse de cs_sondos01