哪位高手能帮小弟我把这个宏定义转换成函数
谁能帮我把这个宏定义转换成函数?
#define MUL(x,y) \
((t16 = (y)) ? \
(x=low16(x)) ? \
t32 = (word32)x*t16, \
x = low16(t32), \
t16 = t32>>16, \
x = (x-t16)+(x<t16) \
: \
(x = 1-t16) \
: \
(x = 1-x))
看得我好乱!
------解决方案--------------------
#define MUL(x,y) \
((t16 = (y)) ? \
(x=low16(x)) ? \
t32 = (word32)x*t16, \
x = low16(t32), \
t16 = t32>>16, \
x = (x-t16)+(x<t16) \
: \
(x = 1-t16) \
: \
(x = 1-x))
看得我好乱!
------解决方案--------------------
MUL(x, y)
{
if (t16 = y)
{
if (x = low16(x))
{
t32 = (word32)x * t16;
x = low16(t32);
t16 = t32 >> 16;
x = (x - t16) + (x < t16);
}
else
{
x = 1 - t16;
}
}
else
{
x = 1 - x;
}
}