bignumber.h

来自「求pi的程序」· C头文件 代码 · 共 56 行

H
56
字号
int plus(__int64 *a,__int64 *b,int a1)//大数相加,a1代表分段数
{
	int i;
	int t=0;
	for (i=0;i<a1;i++){
		a[i]=a[i]+b[i]+t;
		if (a[i]>=1000000000){
			a[i]-=1000000000;
			t=1;				//进位
		}else t=0;
	}
	return t;
}
int multiply(__int64 *a,int b,int a1)
{
	int i;
	int t=0;
	__int64 *c=new __int64[a1];
	for (i=0;i<a1;i++){
		c[i]=a[i]*b+t;
		t=c[i]/1000000000;
		c[i]-=(__int64)t*1000000000;
	}
	for(i=0;i<a1;i++)
		a[i]=c[i];
	delete c;
	return t;
}
int divide(__int64 *a,unsigned int b,int a1)
{
	int i;
	int t=0;
	__int64 *c=new __int64[a1];
	for (i=a1-1;i>=0;i--){
		c[i]=(a[i]+__int64(t)*1000000000)/b;
		t=(a[i]-c[i]*b)%1000000000;
		t=(t+1000000000)%1000000000;
	}
	for(i=0;i<a1;i++)
		a[i]=c[i];
	delete c;
	return t;
}
int minus(__int64 *a,__int64 *b,int a1)//大数相减,a1代表分段数
{
	int i;
	int t=0;
	for (i=0;i<a1;i++){
		a[i]=a[i]-b[i]-t;
		if (a[i]<0){
			a[i]+=1000000000;
			t=1;			//借位
		}else t=0;
	}
	return t;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?