例如 A / B,现在我需要获得 商和余数,
C = A / B;
D = A % B ;
这样需要两次运算,现在我想利用一次运算得到C和D,各位大虾,请告知,谢谢!
以前用TI的DSP可以直接读取ACC的低16位为商,高16位为余数,请问在STM32的芯片里能实现相同的操作吗?
用编译器库函数 div
C = div(A , B).quot;
D = div(A , B).rem;
或者求先商,在用乘法,减法求余数。
#include <stdlib.h>
div_t x;
x=div(A,B);
C = x.quot;
D = x.rem;
汇编人得习惯,老是喜欢跟编译器抢饭碗。
这点东西交给编译器去优化吧。
C = A / B;
D = A % B ;
编译器应该可以优化的吧。 而且这个需要指令支持。