独闷闷网

 找回密码
 立即注册
搜索
查看: 3316|回复: 1
打印 上一主题 下一主题
收起左侧

[原创] 如何用加减法实现除法?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2015-8-1 16:10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Goem-顺德:
记得当时面试的时候,老板就是问,如何不用乘除法拆分一个数?

★坚鸿-深圳:
你有什么方法?

Goem-顺德:
只是因为单片机没乘除法指令。加减咯。100/10就相当于100-10然后寄存器再+1。循环判断到不够减为止,不够减就是余数了。寄存器的值就是商。乘法也就差不多。


★坚鸿-深圳:
但是我感觉这种方法跟直接用乘除没差别。因为当我们写下100/10时,可能内部的C编译器就是按照你的那种思路来处理具体的运算的。


Goem-顺德:
当你遇到汇编没有乘除指令就知道有没用了。


★坚鸿-深圳:
只要是C语言,即使汇编没有乘除指令,我相信C编译器也是大概按照你的思路和方法来处理,所以应该没有本质的差别。也不会节省什么运算时间。但是你给大家分享的算法基础很好。


阿浩-浙江:
乘除法不可以可以用移位代替的吗 ?

★坚鸿-深圳:
只能是2的倍数才可以。

阿浩-浙江:
哦, 原来如此,没考虑周全。


乐于分享,勇于质疑!
沙发
发表于 2015-8-6 08:16:01 | 只看该作者
估计他们一直用的汇编~
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-12-2 02:23 , Processed in 0.174550 second(s), 16 queries .

快速回复 返回顶部 返回列表