分享

ccs中格式转换

 whjのDSP学习 2012-06-13

dsp ccs sprintf



1. %f,正常,浮点格式化正常, abc = 90.001 sprintf( tmp, "%f", abc);

2. %d, 只对 int16起作用,大宽度的会只存高两字节。

    %u, 只对 uint16宽度的数起作用,大宽度的会只存高两字节。

    %x, %X 只为16Bit宽度的数起作用,大宽度的会只存高两字节。

   可能的原因是 dsp 2x中默认的int为16Bit。还有sprintf参数好像是传的指针或引用,即地址。

 

   不妨用sprintf(tmp, "%.0f", float(abc)),来代替,且没有小数点。

   使用sprintf,参数可以直接使用数字;但使用sizeof()作参数时,有时得不到想要的,可能是sizeof()为编译期指令,数据优化了?

千万注意:要#include <stdio.h>,否则,也能编译,但不能出效果。

2011.4.29补充:

     由于32Bit在dsp 28x中为long,故对32Bit int使用sprintf(tmp, "%ld", abc).

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多