永发信息网

用C语言编写两个32位数的除法函数

答案:3  悬赏:60  手机版
解决时间 2021-03-08 19:04
  • 提问者网友:听门外雪花风
  • 2021-03-08 08:17
用C语言编写两个32位数的除法函数(参数为除数和被除数),设X=0x1234 5678 ,Y=0X5,采用汇编语言调用C语言方法计算 Z=X/Y
最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-03-08 09:18
啥CPU啊?

unsigned long Div(unsigned long X, unsigned long Y)
{
return X/Y;
}

要用汇编调用,需要学习对应CPU的C语言实现!
全部回答
  • 1楼网友:独钓一江月
  • 2021-03-08 10:23
结果要16进制还是10进制的?
  • 2楼网友:患得患失的劫
  • 2021-03-08 09:33
#include #include int len1,len2; char s1[905]; char s2[905]; int re[905]; void sub() { int i=0; int j; while(1) { if(s1[i]=='0') i++; else { j=i; break; } } for(;ij;i--) //低位开始检测是否小于0 { if(s1[i]<'0') { s1[i]+=10; s1[i-1]--; } } } int main(void) { int i,p; while(scanf("%s%s",s1,s2)==2) { len1=strlen(s1); len2=strlen(s2); if(len1=0) //一直进行减法,直到不能减为止 { sub(); re[p]++; } p++; if(len1==len2) break; for(i=len2-1;i>=0;i--) //在s2前面补0,以便进行减法运算 { s2[i+1]=s2[i]; } s2[0]='0'; len2++; s2[len2]='\0'; } i=0; while(1) { if(re[i]==0) i++; else break; } for(;i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯