同时获得余数和商

sunbine   2010-5-4 14:56 楼主
例如 A / B,现在我需要获得 商和余数,
C = A / B;
D = A % B ;
这样需要两次运算,现在我想利用一次运算得到C和D,各位大虾,请告知,谢谢!

以前用TI的DSP可以直接读取ACC的低16位为商,高16位为余数,请问在STM32的芯片里能实现相同的操作吗?

回复评论 (11)

                                 应该可以通过汇编指令来实现,通过C或许也可以
点赞  2010-5-4 16:20
用编译器库函数 div

C = div(A , B).quot;
D = div(A , B).rem;

或者求先商,在用乘法,减法求余数。
点赞  2010-5-4 16:39
                                 3楼这个是不是还是用两次除法运算?谢谢
点赞  2010-5-4 16:55
#include <stdlib.h>

div_t  x;

x=div(A,B);

C = x.quot;
D = x.rem;
点赞  2010-5-4 17:02
                                 学习!谢谢
点赞  2010-5-4 19:38
汇编人得习惯,老是喜欢跟编译器抢饭碗。
这点东西交给编译器去优化吧。
点赞  2010-5-4 19:51
                                 用汇编指令如何实现呢
点赞  2010-5-4 20:25
上官一出惊天地,  
金虹一现震江湖。

学习了!谢谢
点赞  2010-5-5 06:04
                                 学习了,谢谢,
点赞  2010-5-5 08:47
                                 不错,确实可以用C来实现。
点赞  2010-5-5 16:23
C = A / B;
D = A % B ;

编译器应该可以优化的吧。  而且这个需要指令支持。
点赞  2010-5-5 23:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复