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
0>
{
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;
}