(若想查看高精除以单精,请点击链接)链接
嗯,这个还有点儿难度(虽然不常用),其实也不难,稍微讲讲吧!
在用竖式计算除法的时候,用减法模拟每次的相除,从高位到低位,每次减到不能再减为止,然后向后移一位。嗯,就这样。
Code
#include<bits/stdc++.h>
using namespace std;
int c[300];
char ch1[300],ch2[300],ans[300];
bool cmp(int p,char ch1[],char ch2[])//对前p位的被除数字符串ch1和整个除数字符串ch2比较大小
{
int l=1;
while(ch1[l]=='0'&&l<=p-1) l++;//删除被除数的第p位之前已经被减为0的位
char tch[300];
int cnt=0;
for(int i=l;i<=p;i++)
{
tch[++cnt]=ch1[i];//把被除数删完之后的部分存储在tch里
}
tch[cnt+1]='\0';
if(strlen(tch+1)&g