TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28027: 在编程的时候发现数据范围不同的时候导致结果出错,CCS默认数据类型转换有哪些?

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是可以正常输出的 

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28027: 在编程的时候发现数据范围不同的时候导致结果出错,CCS默认数据类型转换有哪些?
分享到: 更多 (0)