(这次没偷懒,加减乘除模开方都有。。)
一直不想写压位,直到。。。。。。。。。。
遇到了一道会卡不压位高精度的题,心痛到无法呼吸而且是在考试的时候。。。。。。。。。。
于是临时推,发现压位的输入输出真的是恶心
但是压位的优点也是明显的:速度快,内存低
缺点在于,如果让你保留一定位数的话,不到万不得已别写这玩意儿
以及在高精度除以整型时,如果整型过大,是会炸掉的。
关于那个高精度开方,有很多神奇的方法可以更快的做
但是,蒟蒻只会写二分。。。。
code:
const int bit=1000;
struct bign{
int s[MAXL],len;
bign(){
memset(s,0,sizeof s);len=0;
}
void clean(){
while(len>1&&!s[len-1]) len--;
}
void read(){
char num[MAXL];
scanf("%s",num);
*this=num;
}
void print(){
printf("%d",s[len-1]);
for(int i=len-2;i>=0;i--)
printf("%03d",s[i]);
putchar(10);
}
bign operator=(const int &