infa.doc

(25 KB) Pobierz

#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

    for(i=0; i<8; i++)

    {

        printf("%d", nt[i] );

    }

    printf("\n");

    for(i=0; i<8; i++)

    {

        printf("%d", mt[i] );

    }

    printf("\n");

 

    //konwersja na u2 jesli liczba jest ujemna

    for(i=0; i<8; i++)

    {

        if (n1 < 0)

        {

            if (nt[i] == 0)

                nt[i] = 1;

            else

                nt[i] = 0;

        }

        if (m1 < 0)

        {

            if (mt[i] == 0)

                mt[i] = 1;

            else

                mt[i] = 0;

        }

 

    }

 

 

    //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;

            w[i] = 0;

        }

        //3 jedynki, wiec jedynka zostaje i przenosimy 2

        if (w[i] == 3)

        {

            w[i-1] = 1;

            w[i] = 1;

        }

    }

 

    printf("\n");

    for(i=0; i<8; i++)

    {

        printf("%d", w[i] );

    }

    printf("\n");

 

    getch();

    return 0;

}

//---------------------------------------------------------------------------

 

...
Zgłoś jeśli naruszono regulamin