05 April 2014

Arhitectura Sistemelor de Calcul Programe C Language



baza 10 --> baza 2 Semn marime

#include "stdio.h"
#include "math.h"

int main(int argc, char **argv)
{
            int n10,n,s,i,n2[64];
           
            printf("n="); scanf("%d", &n);
            printf("n10="); scanf("%d", &n10);
            if(n10<0 p="">
            {
                        s=1;
                        n10=-n10;
            }
            else
                        s=0;
                        n2[0]=s;
            for(i=1;i<=n;i++)
            {
                        if(n10>=pow(2,n-i-1))
                        {
                                    n2[i]=1;
                                    n10=n10-pow(2,n-i-1);
                        }
                        else
                                    n2[i]=0;
            }
            for(i=0;i<=n-1;i++)
            printf("%d", n2[i]);
            printf("\n");
            return 0;
}



baza 16 --> baza 10

#include "stdio.h"
#include "math.h"
#include "string.h"

int main(int argc, char **argv)
{
            int n10=0,n,i=0;
            char n16[64];
           
            printf("n16="); scanf("%s", &n16);
            n=strlen(n16);
            while(i
            {
                        if(n16[i]>='A')
                                    n10=n10+pow(16,n-i-1)*(n16[i]-'A'+10);
                        else
                                    n10=n10+pow(16,n-i-1)*(n16[i]-'0');
                                    i++;
            }
            printf("n10=%d\n", n10);
            return 0;
}


baza 2 --> baza 10

#include "stdio.h"
#include "math.h"
#include "string.h"

int main(int argc, char **argv)
{
            int n10,n,s,i;
            char n2[64];
            printf("n2="); scanf("%s",n2);
            n=strlen(n2);
            s=n2[0];
            n10=0;
            for(i=1;i<=n-1;i++)
                        n10=n10+(n2[i]-'0')*pow(2,n-i-1);
            if(s=='1')
                        n10=-n10;
            printf("%d\n", n10);
            return 0;
}


baza 10 --> baza 16

#include "stdio.h"
#include "string.h"

int main(int argc, char **argv)
{
            int n10,j,i=0,rest=0;
            char n16[64];
           
            printf("n10="); scanf("%d", &n10);
            while(n10>0)
            {
                        rest=n10%16;
                        if(rest>9)
                                    n16[i]=(rest-10)+'A';
                        else
                                    n16[i]=rest+'0';
                                    n10=n10/16;
                                    i++;
            }
            printf("n16=");
            for(j=i-1;j>=0;j--)
            printf("%c", n16[j]);
            printf("\n");
            return 0;
}





baza 10 --> baza 2 virgula fixa

#include "stdio.h"
#include "math.h"

int main(int argc, char **argv)
{
            int n10i,n,i;
            char n2[64];
            float n10, n10f;
           
            printf("n="); scanf("%d", &n);
            printf("n10="); scanf("%f", &n10);
           
            n10i=(int)n10;
            n10f=n10-n10i;
           
            for(i=0;i
                        if(n10i>=pow(2,n/2-i-1))
                        {
                                    n2[i]=1;
                                    n10i=n10i-pow(2,n/2-i-1);
                        }
                        else
                                    n2[i]=0;
            for(i=n/2;i<=n-1;i++)
            {
                        n10f=n10f*2;
                        if(n10f>=1)
                        {
                                    n2[i]=1;
                                    n10f=n10f-1;
                        }
                        else
                                    n2[i]=0;
            }
            for(i=0;i
            {
                        printf("%d",n2[i]);
                        if(i==n/2-1)
                        printf(".");
            }
            return 0;
}



baza 2 --> baza 10 virgula fixa

#include "stdio.h"
#include "math.h"
#include "string.h"

int main(int argc, char **argv)
{
            int n,i,k,expi,expf;
            char n2[64];
            float pi,pf,n10;
           
            printf("n2="); scanf("%s", &n2);
            n=strlen(n2);
            for(i=0;i
                        if(n2[i]=='.')
                        {
                                    k=i;
                                    break;
                        }
            pi=0; pf=0;
            expi=k-1;
            for(i=0;i
            {
                        pi=pi+(n2[i]-'0')*pow(2,expi);
                        expi--;
            }
            expf=-1;
            for(i=k+1;i
            {
                        pf=pf+(n2[i]-'0')*pow(2,expf);
                        expf--;
            }
            n10=pi+pf;
            printf("n10=%f \n", n10);
            return 0;
}


SEMISUMATOR

#include “stdio.h”
int main(int argc, char ** argv)
{
int x,y,S,co;
    printf("\n x y  S co");
    for (x=0;x<=1;x++)
    for (y=0;y<=1;y++)
    {
    S=x^y;
    co=x&y;
    printf("\n %d %d > %d %d",x,y,S,co);
    }
    printf("\n");
    return 0;
}

CCSuite - CC Monitoring, CC Reports and AliveCheck

CC Monitoring, CC Reports and AliveCheck Create together a powerful application, user friendly, that helps managing, monitoring ...