Пример #1
0
int main()
{
	int cas,t;
	char dm[5],in1[100],in2[100],sign[2];
	int dec1,dec2;

	scanf("%d",&cas);
	gets(dm);
	for(t=1;t<=cas;t++)
	{
		scanf("%s %s %s",&in1,&sign,&in2);

		//calculate decimal
		dec1=to_dec(in1);
		dec2=to_dec(in2);

		//display binary
		binary(dec1);
		printf(" %s ",sign);
		binary(dec2);

		if(sign[0]=='+') printf(" = %d\n",dec1+dec2);
		if(sign[0]=='-') printf(" = %d\n",dec1-dec2);
	}
	return 0;
}
Пример #2
0
int main()
{
	int ss;
	int cas,c,i,j;
	char dm[5];
	char op[20];
	char temp[20];

	int len;
	long num1,num2;

	scanf("%d",&cas);gets(dm);
	printf("COWCULATIONS OUTPUT\n");
	for(c=1;c<=cas;c++)
	{
		//1st number
		gets(temp);
		for(i=0;i<8;i++) in1[i]='V';
		len=strlen(temp);
		{
			for(i=len-1,j=7;i>=0;i--,j--)
			{
				in1[j]=temp[i];
			}
		}

		//2nd number
		gets(temp);
		for(i=0;i<8;i++) in2[i]='V';
		len=strlen(temp);
		{
			for(i=len-1,j=7;i>=0;i--,j--)
			{
				in2[j]=temp[i];
			}
		}


		num1=to_dec(in1,4);
		num2=to_dec(in2,4);

		//get operation
		for(i=1;i<=3;i++)
		{
			gets(op);

			if(op[0]=='A') num2=num1+num2;
			else if(op[0]=='R') num2=num2/4;
			else if(op[0]=='L') num2=num2*4;
		}

		gets(res);

		ss=output(num2,4);
		if(ss==-1) printf("NO\n");
		else if(ss==1) printf("YES\n");
	}
	printf("END OF OUTPUT\n");
	return 0;
}
Пример #3
0
int main()
{
	char convert;
	char color[20];

	char hex_number[2], dec_number[3];

	scanf("%c\n", &convert);

	fgets(color, 20, stdin);

	if(convert == 'h')
	{
		printf("rgb(");
		for(int i = 1; i < 7; i+=2)
		{
			hex_number[0] = color[i];
			hex_number[1] = color[i+1];
			
			if(i < 5)
				printf("%d, ", to_dec(hex_number));
			else 
				printf("%d", to_dec(hex_number));
		}
		printf(")");
	}
	else if(convert == 'd')
	{
		printf("#");
		int l = strlen(color);
		for(int i = 0; i < l; i++)
		{
			for(int c = 0; c < 3; c++)
			{
				dec_number[c] = 0;
			}
			if(color[i] != ',' && color[i] != ' ')
			{
				for(int c = 0; color[i]>='0' && color[i]<='9'; c++)
				{
					dec_number[c] = color[i];
					i++;
				}
				to_hex(dec_number);
			}
		}
	}
	
	return 0;
}
Пример #4
0
int main()
{
	long long dec;
	char dig[200];
	long long base1,base2,lig;
	while(scanf("%lld %lld %s",&base1,&base2,&dig)==3)
	{
		//test legal or not
		lig=test(dig,base1);

		if(lig==0)
		{
			printf("%s is an illegal base %lld number\n",dig,base1);
		}

		if(lig==1)
		{
			dec=to_dec(dig,base1);
			printf("%s base %lld = ",dig,base1);
			output(dec,base2);
			printf(" base %lld\n",base2);
		}
	}
	return 0;
}
Пример #5
0
string AES::hexstr_to_binstr (string cad)
{
    //cada caracter lo tngo q pasar a binario
    stringstream aux;
    for (unsigned i=0; i<(MAX*2);i++)
       aux<<to_binary(to_dec(cad[i]),4).get_s();
    return aux.str();
}
Пример #6
0
ull swap(ull n, ull a, ull b) {
  char bin[B+1], aux;

  to_bin(n, bin);
  aux = bin[a];
  bin[a] = bin[b];
  bin[b] = aux;
  
  return to_dec(bin);
}
Пример #7
0
int
point4d_transform(POINT4D *pt, projPJ srcpj, projPJ dstpj)
{
	int* pj_errno_ref;
	POINT4D orig_pt;

	/* Make a copy of the input point so we can report the original should an error occur */
	orig_pt.x = pt->x;
	orig_pt.y = pt->y;
	orig_pt.z = pt->z;

	if (pj_is_latlong(srcpj)) to_rad(pt) ;

	LWDEBUGF(4, "transforming POINT(%f %f) from '%s' to '%s'", orig_pt.x, orig_pt.y, pj_get_def(srcpj,0), pj_get_def(dstpj,0));

	/* Perform the transform */
	pj_transform(srcpj, dstpj, 1, 0, &(pt->x), &(pt->y), &(pt->z));

	/* For NAD grid-shift errors, display an error message with an additional hint */
	pj_errno_ref = pj_get_errno_ref();

	if (*pj_errno_ref != 0)
	{
		if (*pj_errno_ref == -38)
		{
			lwnotice("PostGIS was unable to transform the point because either no grid shift files were found, or the point does not lie within the range for which the grid shift is defined. Refer to the ST_Transform() section of the PostGIS manual for details on how to configure PostGIS to alter this behaviour.");
			lwerror("transform: couldn't project point (%g %g %g): %s (%d)",
			        orig_pt.x, orig_pt.y, orig_pt.z, pj_strerrno(*pj_errno_ref), *pj_errno_ref);
			return 0;
		}
		else
		{
			lwerror("transform: couldn't project point (%g %g %g): %s (%d)",
			        orig_pt.x, orig_pt.y, orig_pt.z, pj_strerrno(*pj_errno_ref), *pj_errno_ref);
			return 0;
		}
	}

	if (pj_is_latlong(dstpj)) to_dec(pt);
	return 1;
}
Пример #8
0
int main( int argc, char ** argv )
{
	struct timespec start, end;
	char buffer[32] = {0};
	const int vals = 10000000;

	unsigned long *val = new unsigned long[vals];

	long int duration;

	long test_len;
	test_len = to_dec_c( 0xDEADBEEFDEADBEEF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 1 0xDEADBEEFDEADBEEF = %s\n", buffer );

	test_len = to_dec( 0xDEADBEEFDEADBEEF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 2 0xDEADBEEFDEADBEEF = %s\n", buffer );

	test_len = to_dec( 0xFFFFFFFFFFFFFFFF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 3 0xFFFFFFFFFFFFFFEF = %s\n", buffer );

	test_len = to_dec_c( 0xFFFFFFFFFFFFFFFF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 4 0xFFFFFFFFFFFFFFEF = %s\n", buffer );

	test_len = to_dec( (unsigned long)0xFFFFFFFF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 5 0xFFFFFFFF = %s\n", buffer );

	test_len = to_dec_c( (unsigned long)0xFFFFFFFF, buffer, 32 );
	buffer[test_len] = 0x00;
	printf( "Test 6 0xFFFFFFFF = %s\n", buffer );

	printf( "Array setup..." ); fflush(NULL);

	for( int x = 0; x < vals; x++ ) {
		val[x] = x;
	}

	printf( "done\n" );

	current_utc_time( &start );

	for( int x = 0; x < vals ; x++ ) {
		long len = to_dec( val[x], buffer, 32 );
	}

	current_utc_time( &end );

	duration = diff_timespec( start, end );

	printf( "to_dec, source is array\n" );
	printf( "Completed in %8.8f sec (%ld nsec avg)\n\n", (double)duration/nsec_per_sec, duration/vals );


	current_utc_time( &start );

	for( int x = 0; x < vals ; x++ ) {
		long len = to_dec( x, buffer, 32 );
	}

	current_utc_time( &end );

	duration = diff_timespec( start, end );

	printf( "to_dec, source is calculated\n" );
	printf( "Completed in %8.8f sec (%ld nsec avg)\n\n", (double)duration/(double)nsec_per_sec, duration/vals );

	current_utc_time( &start );

	for( int x = 0; x < vals ; x++ ) {
		long len = to_dec_c( val[x], buffer, 32 );
	}

	current_utc_time( &end );

	duration = diff_timespec( start, end );

	printf( "to_dec_c, source is array\n" );
	printf( "Completed in %8.8f sec (%ld nsec avg)\n\n", (double)duration/(double)nsec_per_sec, duration/vals );


	current_utc_time( &start );

	for( int x = 0; x < vals ; x++ ) {
		long len = to_dec_c( x, buffer, 32 );
	}


	current_utc_time( &end );
	duration = diff_timespec( start, end );

	printf( "to_dec_c, source is calculated\n" );
	printf( "Completed in %8.8f sec (%ld nsec avg)\n\n", (double)duration/(double)nsec_per_sec, duration/vals );


	return 0;
}
Пример #9
0
int pass1()
{
    FILE *f1, *f2, *f3, *f4;
    char nam[30], opc[20];
    char lb[50], otp[20], opnd[50];
    char Ad[10], pc[10], o[10];
    int flag, ln, ln2;
    long long int num;
    printf("Please Enter the file name: ");
    gets(nam);
    f1 = fopen(nam,"r");
    fscanf(f1,"%s %s %s",lb,opc,Ad);
    if(strcmp(opc,"START")==0)
    {
        strcpy(pc,Ad);
        f2 = fopen("file1.txt","w");
        fprintf(f2,"-\t%s\t%s\t%s\n",lb,opc,pc);
        printf("\n\n\t%s\t%s\t%s\n",lb,opc,pc);
        fscanf(f1,"%s %s %s",lb,opc,opnd);
    }
    else
    {
        pc[0] = '0';
        pc[1] = '\0';
    }
    f3 = fopen("symtab.txt","w");
    while(!feof(f1))
    {
        fprintf(f2,"%s\t%s\t%s\t%s\n",pc,lb,opc,opnd);
        printf("%s\t%s\t%s\t%s\n",pc,lb,opc,opnd);
        if(strcmp(lb,"-"))
        {
            fprintf(f3,"%s\t%s\n",pc,lb);
        }
        f4 = fopen("optab.txt","r");
        fscanf(f4,"%s %S",otp,o);
        while(!feof(f4))
        {
            if(strcmp(opc,otp)==0)
            {
                num = to_dec(pc);
                num = num + 3;
                itoa(num,pc,16);
                strupr(pc);

                break;
            }
            fscanf(f4,"%s %S",otp,o);
        }
        fclose(f4);
        if(strcmp(opc,"WORD")==0)
        {
            num = to_dec(pc);
            num = num + 3;
            itoa(num,pc,16);
                strupr(pc);


        }
        else if(strcmp(opc,"RESW")==0)
        {
            num = to_dec(pc);
            num = num + (3 * atoi(opnd));
             itoa(num,pc,16);
                strupr(pc);

        }
        else if(strcmp(opc,"BYTE")==0)
        {
            if(opnd[0] == 'X')
            {
                num = to_dec(pc);
                num = num + 1;
                 itoa(num,pc,16);
                strupr(pc);

            }
            else
            {
                num = to_dec(pc);
                num = num + (strlen(opnd) - 3);
                  itoa(num,pc,16);
                strupr(pc);

            }
        }
        else if(strcmp(opc,"RESB")==0)
        {
            num = to_dec(pc);
            num = num + atoi(opnd);
             itoa(num,pc,16);
                strupr(pc);

        }
        fscanf(f1,"%s %s %s",lb,opc,opnd);
    }
    fclose(f1);
    fclose(f2);
    fclose(f3);
    if(strcmp(opc,"END")==0)
    {
        num = to_dec(pc);
        itoa((num - to_dec(Ad)),pc,16);
        strupr(pc);
        printf("\nProgram size= %s\n",pc);
        f1 = fopen("len.txt","w");
        fprintf(f1,"%s",pc);
        fclose(f1);
    }
    return 0;
}
Пример #10
0
int pass2()
{
    FILE *f1, *f2, *f3, *f4, *f5;
    char Ad[10], Add[10];
    char op[10], st[10];
    char  lb[50], mn[50], opnd[50], sym[50], op2[10];
    char ln[10], temp[50];
    int op1[10], i, j = 0, ln2;
    long int ln3;
    f1 = fopen("file1.txt","r");
    f2 = fopen("len.txt","r");
    f3 = fopen("optab.txt","r");
    f4 = fopen("symtab.txt","r");
    f5 = fopen("file2.txt","w");
   fscanf(f1,"%s%s%s%s",Ad,lb,mn,opnd);
    printf("%s\t%s\t%s\t%s\n",Ad,lb,mn,opnd);
    fprintf(f5,"%s\t%s\t%s\t%s\n",Ad,lb,mn,opnd);
    if(strcmp(mn,"START")==0)
    {
        strcpy(st,opnd);
        fscanf(f2,"%s",&ln);
    }
    fscanf(f1,"%s%s%s%s",Ad,lb,mn,opnd);
    while(strcmp(mn,"END"))
    {
        fscanf(f3,"%s %s",op2,op);
        if(strcmp(opnd,"-") && strcmp(mn,"BYTE") && strcmp(mn,"WORD") && strcmp(mn,"RSUB") && strcmp(mn,"RESW") && strcmp(mn,"RESB"))
        while(!feof(f3))
        {
            if(strcmp(mn,op2)==0)
            {
                fscanf(f4,"%s %s",Add,sym);
                while(!feof(f4))
                {
                    if(strcmp(opnd,sym)==0)
                    {
                        printf("%s\t%s\t%s\t%s\t\t%s%s\n",Ad,lb,mn,opnd,op,Add);
                        fprintf(f5,"%s\t%s\t%s\t%s\t\t%s%s\n",Ad,lb,mn,opnd,op,Add);
                        break;
                    }
                    else
                    {
                        ln3 = strlen(opnd);
                        if(opnd[ln3-1] == 'X')
                        {
                            strcpy(temp,opnd);
                            temp[ln3-2] = '\0';
                            if(strcmp(temp,sym)==0)
                            {
                                ln3 = to_dec(Add);
                                ln3 = ln3 + 32768;
                                itoa(ln3,Add,16);
                                strupr(Add);
                                printf("%s\t%s\t%s\t%s\t%s%s\n",Ad,lb,mn,opnd,op,Add);
                                fprintf(f5,"%s\t%s\t%s\t%s\t%s%s\n",Ad,lb,mn,opnd,op,Add);
                                break;
                            }
                        }
                    }
                    fscanf(f4,"%s %s",Add,sym);
                }
                break;
            }
            else
                fscanf(f3,"%s%s",op2,op);
        }
        if(strcmp(mn,"BYTE")==0 || strcmp(mn,"WORD")==0 || strcmp(mn,"RSUB")==0)
        {
            if(strcmp(mn,"WORD")==0)
            {
                printf("%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                fprintf(f5,"%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                itoa(atoi(opnd),opnd,16);
                strupr(opnd);
                ln2 = strlen(opnd);
                for(i = 0; i < (6 - ln2); i++)
                {
                    printf("0");
                    fprintf(f5,"0");
                }
                printf("%s\n",opnd);
                fprintf(f5,"%s\n",opnd);
            }
            else if(!strcmp(mn,"RSUB"))
            {
                printf("%s\t%s\t%s\t%s\t\t4C0000\n",Ad,lb,mn,opnd);
                fprintf(f5,"%s\t%s\t%s\t%s\t\t4C0000\n",Ad,lb,mn,opnd);
            }
            else
            {
                ln2 = strlen(opnd);
                if(opnd[0] == 'X')
                {
                    printf("%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                    fprintf(f5,"%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                    for(i = 2; i < (ln2 - 1); i++)
                    {
                        printf("%c",opnd[i]);
                        fprintf(f5,"%c",opnd[i]);
                    }
                }
                else if((opnd[0] == 'C'))
                {
                    printf("%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                    fprintf(f5,"%s\t%s\t%s\t%s\t\t",Ad,lb,mn,opnd);
                    ln2 = strlen(opnd);
                    for(i = 2; i < (ln2 - 1); i++)
                    {
                        printf("%X",opnd[i]);
                        fprintf(f5,"%X",opnd[i]);
                    }
                }
                printf("\n");
                fprintf(f5,"\n");
            }
        }
        if((strcmp(mn,"RESW")==0) || (strcmp(mn,"RESB")==0))
        {
            printf("%s\t%s\t%s\t%s\t\t-\n",Ad,lb,mn,opnd);
            fprintf(f5,"%s\t%s\t%s\t%s\t\t-\n",Ad,lb,mn,opnd);
        }
        fscanf(f1,"%s%s%s%s",Ad,lb,mn,opnd);
        fclose(f3);
        fclose(f4);
        f3 = fopen("optab.txt","r");
        f4 = fopen("symtab.txt","r");
    }
    if(strcmp(mn,"END")==0)
    {
        printf("%s\t-\tEND\t-\n",Ad);
        fprintf(f5,"%s\t-\tEND\t-\n",Ad);
    }
    fclose(f1);
    fclose(f2);
    fclose(f3);
    fclose(f4);
    fclose(f5);
    return 0;
}