Coder un algo pour compter de 1 à 8 en binaire

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

8 réponses

Utilisateur anonyme
11 juin 2010 à 10:17
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 /...
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juin 2010 à 19:24
salut

simplement
// Parse and format to binary 
bi = new BigInteger("1111111111", 2); // 1023 
String s = bi.toString(2); // 1111111111 
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
11 juin 2010 à 07:17
0
cs_sondos01 Messages postés 22 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 14 décembre 2012
11 juin 2010 à 16:20
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 ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
11 juin 2010 à 17:50
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 /...
0
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 à 18:43
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;


0
Utilisateur anonyme
12 juin 2010 à 21:08
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 /...
0
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
 C'est très clair maintenant :)

Merci,

Somz
0
Rejoignez-nous