用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语言实现!
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯