#pragma hdrstop
#include<math.h>
//---------------------------------------------------------------------------
//DODAWANIE liczb w kodzie u2
#pragma argsused
int main(int argc, char* argv[])
{
int l=0,l1,l2;
int n,m,n1,m1;
int i;
int nt[17], mt[17];
int w[17];
printf("Podaj liczbe dziesietna:");
scanf("%d",&n);
printf("\nPodaj liczbe dziesietna:");
scanf("%d",&m);
//robimy kopie bo moga to byc liczby ujemne
n1 = n;
m1 = m;
n = abs(n);
m = abs(m);
if (n1 < 0) n--;
if (m1 < 0) m--;
//wyzerowanie tablic
for(i=0; i<8; i++)
w[i] = 0;
nt[i] = 0;
mt[i] = 0;
}
//zamiana pierwszej liczby na postac binarna
l1=7;
while(n>0)
nt[l1] = n%2;
l1--;
n = n/2;
//zamiana drugiej liczby na postac bionarna
l2=7;
while(m>0)
mt[l2] = m%2;
l2--;
m = m/2;
//wyswietlenie liczb w postaci binarnej
printf("%d", nt[i] );
printf("\n");
printf("%d", mt[i] );
//konwersja na u2 jesli liczba jest ujemna
if (n1 < 0)
if (nt[i] == 0)
nt[i] = 1;
else
if (m1 < 0)
if (mt[i] == 0)
mt[i] = 1;
//dodanwanie dwoch liczb
for(i=7; i>=0; i--)
w[i] = w[i] + nt[i] + mt[i];
//PRZENIESIENIE BO 2 JEDYNKI
if (w[i] == 2)
w[i-1] = 1;
//3 jedynki, wiec jedynka zostaje i przenosimy 2
if (w[i] == 3)
w[i] = 1;
printf("%d", w[i] );
getch();
return 0;
heya