ARM中好像没有除法啊? 那32除以6,我怎么样能得到5呢?我想用移位,但移位只能除以2、4,8等 有代码加分

 我来答
siying韦
2010-11-18 · TA获得超过387个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:296万
展开全部
计算机中除法是用减法实现的,而减法是用加法实现的(加上他的补码),可以用32一直减6来实现除法,用C#语言实现如下:
int a=32;
int b=6;
int count=0;
while(true)
{
a=a-b;
if(a>=0)
{
count++;
}
else
{
break;
}
}
_wifi
2010-11-18 · 超过32用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:96.9万
展开全部
当然有除法了,这个跟是不是ARM没有关系的,是语言的特性和你定义变量时的变量类型和强制类型转换有关,你多看看C语言的书吧:

C语言实现:

int i_result;
float f_result;

i_result = 32/6; /* 这样就是5*/
f_result = 32/6.0 /* 这样就是5.33333*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f2bf85a
2019-10-29
知道答主
回答量:18
采纳率:0%
帮助的人:6.7万
展开全部
ARM处理器默认的是没有除法指令,一般情况可以把除法转换乘乘法执行,这部分内容可以百度一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jkchenwo
2010-11-18 · TA获得超过4300个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:555万
展开全部
定义一个int count,用for循环,可以每次减6,然后用那个数取6的余,如果不为0,就count++,if减到那个数小于0,就break;然后输出count,最简单的方法,也是最不会出错的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
git0
2010-11-19 · TA获得超过734个赞
知道小有建树答主
回答量:72
采纳率:100%
帮助的人:54.7万
展开全部
int a=32;
int b=6;
int count=0;
while(true)
{
if(a>=b)
{
a = a -b;
count++;
}
else
{
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式