问题标题: 酷町堂:谁能把二进制和高精度的讲义发给我!!!

0
1

0
0
包思远
包思远
新手启示者
新手启示者
//高精度课程笔记:
string x,y;
int a[1005],b[1005],c[2005];
void Plus(){//加法 
    c[0]=max(a[0],b[0]);//c[0]存和的位数
    int jw=0;//jw初值0
    for(int i=1;i<=c[0];i++){
        c[i]=a[i]+b[i]+jw;
        jw=c[i]/10;//先处理进位 
        c[i]%=10;
    }
    if(jw!=0)c[++c[0]]=jw;//判断是否进位,进位,位数+1,这一位为1 
}
void Minus(){//减法 
    c[0]=max(a[0],b[0]);//c[0]存差的位数
    int jw=0;//jw初值0
    for(int i=1;i<=c[0];i++){
        if(a[i]<b[i]){//借位的情况 
            a[i+1]--;
            a[i]+=10;
        }
        c[i]=a[i]-b[i];
    }
    while(c[c[0]]==0)c[0]--;//高位连续0的情况 
}
void Mul(){//乘法 
    c[0]=a[0]+b[0];//积的位数
    for(int i=1;i<=a[0];i++){
        for(int j=1;j<=b[0];j++){
            c[i+j-1]+=a[i]*b[j];//这里一定要+= 
        }
    }
    int jw=0;//jw初值0
    for(int i=1;i<=c[0];i++){
        c[i]=c[i]+jw;
        jw=c[i]/10;
        c[i]%=10;
    }
    while(c[c[0]]==0)c[0]--;//高位连续0的情况 
}

 

0
包思远
包思远
新手启示者
新手启示者

二进制正常课我没上过,冲刺班上过了,但没有线上讲义

0
我要回答