共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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |