Esempio n. 1
0
void Expression()
{
    if(IsAddop(Look))
        EmitLn("xor %eax, %eax");
    else
        Term();

    while (strchr("+-", Look)) {

        EmitLn("pushl %eax");

        switch(Look)
        {
            case '+':
                Add();
                break;
            case '-':
                Substract();
                break;
            default:
                Expected("Addop");
        }
    }
}
Esempio n. 2
0
	vec3& vec3::operator-=(const vec3& other)
	{
		return Substract(other);
	}
Esempio n. 3
0
	Vector4 Vector4::operator - (const Vector4 &other)
	{
		return Substract (other);
	}
Esempio n. 4
0
	vec2& vec2::operator-=(const vec2& other)
	{
		return Substract(other);
	}
Esempio n. 5
0
int main(){
	int t,n;
	int i;
	int	j;
	int nLen1;
	int nLen2;
	int nTimes;
	int nTmp;
	int bStartOutput;
	
	scanf("%d",&n);
	for(t=0;t<n;t++){
		bStartOutput=0;

		scanf("%s",szLine1);
		scanf("%s",szLine2);
		
		
		memset(an1,0,sizeof(an1));
		memset(an2,0,sizeof(an2));
		memset(aResult,0,sizeof(aResult));

		nLen1=strlen(szLine1);
		nLen2=strlen(szLine2);

		if(nLen1<nLen2){
			printf("0\n");
			continue;
		}

		j=0;
		for(i=nLen1-1;i>=0;i--)
			an1[j++]=szLine1[i]-'0';
		
		j=0;
		for(i=nLen2-1;i>=0;i--)
			an2[j++]=szLine2[i]-'0';
		
		nTimes=nLen1-nLen2;
		
		for(i=nLen1-1;i>=0;i--){
			if(i>=nTimes)
				an2[i]=an2[i-nTimes];
			else 
				an2[i]=0;
		}
		
		nLen2=nLen1;

		for(j=0;j<=nTimes;j++){
			while((nTmp=Substract(an1,an2+j,nLen1,nLen2-j))>=0){
				nLen1=nTmp;
				aResult[nTimes-j]++;
			}
		}

		for(i=0;i<MAX_LEN;i++){
			if(aResult[i]>=10){
				aResult[i+1]=aResult[i]/10;
				aResult[i]=aResult[i]%10;
			}
		}

		for(i=MAX_LEN;i>=0;i--)
			if(bStartOutput)
				printf("%d",aResult[i]);
			else if(aResult[i]){
				printf("%d",aResult[i]);
				bStartOutput=1;
			}

		if(!bStartOutput)
			printf("0\n");
		printf("\n");
	}
	return 0;
}