有同学问我高精度怎么封装,结果我讲课的时候忘记讲了,抱歉抱歉(捂脸)
其实封装很简单
我们的结构体一般这样写,包含高精度计算时用的数组和记录数组长度的变量
struct gj
{
int len;//len:数组长度
int v[6000];//高精度计算时用的数组
};
我们平时写高精度的时候传参传的是数组,封装后就传的是结构体了
gj jia(gj a,gj b)
{
gj c;
高精度加法的基础操作
return c;
}
int main()
{
读入a和b
gj ans=jia(a,b);
...
}
另外需要注意的是,在函数jia里面定义c后,需要初始化c.v和c.len,否则会出现奇怪的错误。
另外也可以重载+号和-号,但是如果不会这样写的话就不要这样写,以免出错,采用上面的写法有相同的效果。