Part Number:TMS320F28027
问题如下:
在编程的时候定义变量均是uint16_t 类型,但牵扯到乘法,但我发现这和一般的ARM的C语言有区别例如
数值
uint16_t aa=200,bb=0;
bb=(1500*aa)>>8;
如果在平时的ARM编译器Keil中那么1500*aa的结果虽然超过uint16_t类型数据最大值65536但其结果还是正确的,但CCS却要把1500和aa都强制转换为uint32_t 结果才正确,故对CCS数值类型转换有疑问,能否告诉详细信息,谢谢!
Green Deng:
这个我查了一下最新的编译器说明文档,似乎也没有这方面的描述。www.ti.com.cn/…/spru514x.pdf
如果仅把bb定义为uint32_t也无法输出正确结果吗?
,
jun liu:
uint32_t是可以正常输出的