C++

ahmed amine -  
 ahmed amine -
Bonjour,

j'ai besoin de savoir comment ecrire un programe qui permet de convertissez un nombre decimal en binaire (en utilise boucle while)
(13)decimal=(1101)binaire
c++

1 réponse

Marsum Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   3
 
Voici un code que j'ai fait il y a un moment et qui fait ce que vous demandez, mais avec une boucle for. Il est très facile de la transformer avec un while cependant. Bien sûr il existe des manières de faire beaucoup plus courte, mais celle-ci plus basic peut, peut-être, davantage vous aider.


#include <iostream>
#include <string>

std::string convertFromIntToBinary(int &value);
int binaryArrayLength(int &value);

int main()
{
  int value;
  std::string result;
  std::cout << "Enter a value ";
  std::cin >> value;
  result = convertFromIntToBinary(value);
  std::cout << "Result: " << result << std::endl;
}

std::string convertFromIntToBinary(int &value) //Binaire signé de 8 bits
{
    //Pour s'assurer que la longueur du int en binaire n'excède pas 8 bits
    int expectedLength = binaryArrayLength(value); 
    if(8 >= expectedLength && value>=0 && value<=255) 
    {
        char binaryArray[8];
        for(int i= expectedLength ; i>= 0; i--)
        {
            if(value%2 == 0)
            {
                binaryArray[i] = '0';
            }
            else
            {
                binaryArray[i] = '1';
            }
            value /=2;
        }
        return std::string(binaryArray);
    }
    return NULL;
}

int binaryArrayLength(int &value) 
{
    int length = 0;
    for(int i=value; i>0; i/=2)
    {
        length++;
    }
    return length;
}

0
georges97 Messages postés 13777 Date d'inscription   Statut Contributeur Dernière intervention   2 650
 
Bonjour Marsum,

Je pense que le demandeur a un devoir à rendre et recopiera purement et simplement votre réponse, sans chercher à comprendre. Sans vous commander, l"usage" sur CCM veut plutôt qu'on demande ce qui a déjà été écrit, ou quels sont les points de blocage, et de corriger ou compléter.

J'espère que vous agréerez la remarque d'un faux débutant qui parcourt les posts concernant la programmation et bénéficie des apports de personnes telles que vous.

Souhaitons aussi que le demandeur ait la décence de vous remercier, mais c'est une autre affaire.

Cordialement
0
ahmed amine
 
merci beacoup ☺
0