高精度運算

2021-05-27 13:12:21 字數 1290 閱讀 8282

雖說高精度直接考查的越來越少,不過還是以防萬一。

#define maxlen 1000

struct bint

//*******本模板既可輸入字串,也可輸入整數*******//

bint(int t)

if(len>1)len--;

}bint(char *str)

//print number

friend void print(bint bi)

//print number+enter

friend void println(bint bi)

//可作連=運算

bint operator=(int t)

while(t)

len--;

return *this;

}bint operator=(char *str)

friend int cmp(const bint &a,const bint &b)

//*******加法*******//

bint operator+(const bint &bi)

if(i>1)c.len=i-1;

return c;

}//*******減法*******//

bint operator-(const bint &bi)else j=0;

}c.len=len;while(c.len>1 && !c.s[c.len])c.len--;

return c;

}//*******乘法*******//

bint operator*(const bint &bi)

//*******除法*******//

bint operator/(const bint &bi)

d.s[1]=s[i];

while((j=cmp(d,bi))>=0)

}c.len=len;

while(c.len>1 && c.s[c.len]==0)c.len--;

return c;

}//*******取餘*******//

bint operator%(const bint &bi)

d.s[1]=s[i];

while((j=cmp(d,bi))>=0)

}return d;

}//*******次方*******//

bint pow(int exp)

return ret;

}};bint a,b;

int main()

高精度運算

今天覆習了一下高精度運算。我覺得這種簡單的東西也得看一看,至少給自己留點兒低!高精度可以壓位的,但我今年懶得寫了 首先是加減法很簡單了,沒什麼值得特別強調的。高精度減法時別忘了,a時做下交換在計算,輸出時別忘了標記負號。高精度乘法需要注意的問題是,要在做完乘法之後再調整為十進位制。有的初學者小盆友喜...

高精度運算

name 高精度運算 author goal00001111 date 01 12 08 15 04 description 高精度運算 加減乘除,乘方,階乘 include include using namespace std void reverse string str void addin...

高精度運算

資料讀入,加減乘除,階乘,取餘。不支援負數。乘除只支援大整數和小整數的運算。包括了所有已知的演算法競賽當中的大數運算。這應該是迭代比較完美的一代了,終於完成了高精度模板,繼續加油!const int maxlen 1005 struct bigint j num j 1 digit j bigint...