3.4注意事项
由于在IDEA中采用了乘法运算,这就要考虑到两个乘数是否为0 的情况,如果两个乘数都为0,那么乘法运算结果为0,如果仅有一个乘数为0,那么用65536替换那个为0的乘数,取乘法运算结果的低16位作为输出结果.
INT32 MUL( ULONG16 a, ULONG16 b)/*(a*b)*/
{
ULONG32 p;
if ( a == 0 && b == 0 )
{
p = 0 ;
}
else if ( a == 0 )
{
p = 65536*(ULONG32)b;
}
else if ( b == 0)
{
p = 65536*(ULONG32)a;
}
else
{
p = (ULONG32)a*(ULONG32)b;
}
return (ULONG16 )(p%65537);
}