共2条
1/1 1 跳转至页
32 怎么实现32位乘法????

问
用C语言,如c=a*b,那么a,b,c的数据类型分别是什么???
答 1:
:)int * int = int,long * long = long,DSP里面16位乘法,结果是32位的,只是c语言里面自动截断了,所以,做16 * 16,要先把16变成32位
答 2:
我现在做的是32位数相乘,不是十六位假设
long a=0xffffabcd;
long b=0xabcdffff;
long *d;
(*d)=a*b;
结果(*d)=0x7D2DF65433,
而事实上 a*b=ABCDC77D2DF65433;
怎么把前面的六位数找回来????
谢谢版主 答 3: 你是在16位的DSP上面对吧?那只有自己写长乘,你可以借鉴DSP的库源代码,lmul
long a=0xffffabcd;
long b=0xabcdffff;
long *d;
(*d)=a*b;
结果(*d)=0x7D2DF65433,
而事实上 a*b=ABCDC77D2DF65433;
怎么把前面的六位数找回来????
谢谢版主 答 3: 你是在16位的DSP上面对吧?那只有自己写长乘,你可以借鉴DSP的库源代码,lmul
共2条
1/1 1 跳转至页