关于C18的乘法
我做2个int型的乘法时,结果放long型里,结果为什么只有后16位正确,有什么好的 解决 方法我的是
比如
int a=0x8000;
int b=0x7000;
long c=a*b;
但C的结果只有后16位显示正确,为什么会这样? L=A;L*=B;
数值类型转换问题。
L=A;L*=B;大概就可以了
通过的结果
unsigned int a=0x8000;
unsigned int b=0x7000;
void main(void)
{
unsigned long int c;
c=(unsigned long int)a*b;
}
页:
[1]