你把其中一个变量先放进 长整形变量中(数据类型是unsigned long), 就不会出现结果是整形了
typedef unsigned long u32;typedef unsigned int u16;typedef unsigned char u8; u32 s;u16 a,b;a = 0x7fc;b = a;s = a*b;这样做即可,以后在单片机中这样定义简化代码,易于读懂。可追问,数据溢出是一个比较麻烦的事情,有的时候需要分很多步去解决。