Addition en binaire

jejedi Messages postés 2 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 26 mars 2005 - 26 mars 2005 à 19:57
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 - 27 mars 2005 à 15:02
bonsoir ,



je dois faire un petit prog qui additione 2 nombres binaire.

Le probleme c' est que mes 2 nombres étant des chaines de caractére ca me renvoit une chaine de caractére.

Ex : 1+1= b



Donc voila si qqun voit merci d' avance !!







#include

#include <string.h>

#include <stdlib.h>



int verif(char * a)

{

for (int i=0;i<strlen(a);i++)

{

if (a[i]!='0' && a[i]!='1')

return(0);

}

return(1);

}



char* addition( char * nb1, char * nb2)

{

char *nb;int taille;

nb=new char[50];

int taille1=strlen(nb1);

int taille2=strlen(nb2);

int reste=0;

int nombre;

int c1,c2;

if (taille1 >taille2)

taille=taille1;

else

taille=taille2;



for (int i=0 ; i< taille;i++)

{

c1=(int)nb1[i];;

c2=(int)nb2[i];

nombre=c1+c2+reste;

// nb[i]=nombre



if ( nombre == 2)

{

nb[i]='0';

reste=1;

}

else

{

nb[i]=(char)nombre;

}

}

return(nb);

}



int main()

{

char *a,*b,*c;

a=new char[50];

b=new char[50];

c=new char[50];

cout<< " Entrez 2 nombres binaires:" << endl;

cout << " le premier : " << endl;

cin >> a ;

cout << " le second : " << endl;

cin >> b ;

if (( verif(a) && verif(b)) == 1)

{

c=addition(a,b);

cout << a <<" +"<< b<<" = " <<c << endl ;

}

else

{

if (( verif(a) || verif(b)) ==0)

{

cout <<"Les deux nombres ne sont pas binaires";

}

else

{

if ((verif(a))==0)

{

cout << "Le premier nombre n' est pas binaire";

}

else cout << "le second nombre n' est pas binaire";

}

}

return(1);

}
A voir également:

6 réponses

steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
26 mars 2005 à 20:42
Tu sais que ta fonction addition(
char * nb1, char * nb2) ne sert à rien ? "addition binaire" ne veut
rien dire, tu veux juste saisir la représentation biniare (base 2) de
deux nombres, les additionner (opérateur +, tout simplement) et
afficher la repésentation binaire du résultat.
1
Rejoignez-nous