Ho fatto un programma che effettua la sottrazione fra numeri binari, però quest'ultimo non funziona correttamente. Cerco disperatamente aiuto.
In attesa rigrazio anticipatamente.
Alberto
Allego il codice:
#include <iostream.h>
#include <conio.h>
#include <string.h>
#define M 20
void main()
{
clrscr();
char n1[M],n2[M];
int n3[M];
for(int i=0;i<M;i++)
n3[i]=0;
cin>>n1;
cin>>n2;
for(i=0;n1[i]!='\0';i++);
for(int y=0;n2[y]!='\0';y++);
int prestito=0;
int p=i;
int p2=y;
for(;p<=M;p++)
n1[p]='0';
for(;p2<=M;p2++)
n2[p2]='0';
int k;
for(k=0,i=0,y=0;k<M;i++,y++,k++)
{
if (prestito==0)
{
if (n1[i]=='0'&&n2[y]=='0') n3[k]=0;
if (n1[i]=='0'&&n2[y]=='1')
{
n3[k]=1;
prestito=1;
}
if (n1[i]=='1'&&n2[y]=='0') n3[k]=1;
if (n1[i]=='1'&&n2[y]=='1') n3[k]=0;
}
else
{
if (n1[i]=='0'&&n2[y]=='0')
{
n3[k]=1;
prestito=1;
}
if (n1[i]=='1'&&n2[y]=='0')
{
n3[k]=0;
prestito=0;
}
if (n1[i]=='0'&&n2[y]=='1')
{
n3[k]=0;
prestito=1;
}
if (n1[i]=='1'&&n2[y]=='1')
{
n3[k]=1;
prestito=1;
}
}
}
for(p=0;p<M;p++)
cout<<n3[p];
getch();
}