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

cs_sondos01 22 Messages postés mardi 10 juillet 2007Date d'inscription 14 décembre 2012 Dernière intervention - 10 juin 2010 à 19:06 - Dernière réponse : cs_sondos01 22 Messages postés mardi 10 juillet 2007Date d'inscription 14 décembre 2012 Dernière intervention
- 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 

Votre réponse

8 réponses

Meilleure réponse
Utilisateur anonyme - 11 juin 2010 à 10:17
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 /...

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 10 juin 2010 à 19: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
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 11 juin 2010 à 07:17
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
cs_sondos01 22 Messages postés mardi 10 juillet 2007Date d'inscription 14 décembre 2012 Dernière intervention - 11 juin 2010 à 16:20
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
Utilisateur anonyme - 11 juin 2010 à 17:50
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
cs_sondos01 22 Messages postés mardi 10 juillet 2007Date d'inscription 14 décembre 2012 Dernière intervention - 12 juin 2010 à 18:43
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
Utilisateur anonyme - 12 juin 2010 à 21:08
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
cs_sondos01 22 Messages postés mardi 10 juillet 2007Date d'inscription 14 décembre 2012 Dernière intervention - 12 juin 2010 à 21:21
0
Merci
 C'est très clair maintenant :)

Merci,

Somz
Commenter la réponse de cs_sondos01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.