TI中文支持网
TI专业的中文技术问题咨询交流网站

请问CCS10.0中float占了几个字节,另外如何设置数据输出为16进制呢

如题,我看手册里说明的float类型数据占4个字节,可是自己测试的时发现只有两个字节,请问原因是什么?
另外,如下图所示:


这个float类型的数据是十进制显示的,请问我需要怎么设置才能让其变为16进制数据显示呢,谢谢

Green Deng:

1、float一般都是4个字节的,你说的2个字节是怎么计算的?
2、更改数据类型,右键数据选择“number format”可以更改

周小俊:

回复 Green Deng:

我用的sizeof(float),得出的结果是2

Green Deng:

回复 周小俊:

确实sizeof(float) = 2CCS编译器的用户手册第102页(https://www.ti.com.cn/cn/lit/ug/spru514u/spru514u.pdf)里面有写到: TMS320C28x Byte is 16 Bits By ANSI/ISO C definition, the sizeof operator yields the number of bytes required to store an object. ANSI/ISO further stipulates that when sizeof is applied to char, the result is 1. Since the TMS320C28x char is 16 bits (to make it separately addressable), a byte is also 16 bits. This yields results you may not expect; for example, size of (int) = = 1 (not 2). TMS320C28x bytes and words are equivalent (16 bits). To access data in increments of 8 bits, use the __byte() and __mov_byte() intrinsics described in Section 7.6.

周小俊:

回复 Green Deng:

感谢您的答复,现在请问一个问题,char在CCS里默认的是16位,我需要怎么设置才能设置为8位的呢

Green Deng:

回复 周小俊:

看一下这个帖子中FAE的回复:e2echina.ti.com/…/77296

赞(0)
未经允许不得转载:TI中文支持网 » 请问CCS10.0中float占了几个字节,另外如何设置数据输出为16进制呢
分享到: 更多 (0)