符号型int m1,m2;int result; result=((long)m1*(long)m2)>>16;
无符号型
unsigned int m1,m2;unsigned int result; result=((unsigned long)m1*(unsigned long)m2)>>16;