This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280049:有关 CLA 中"Nan"值的问题

Guru**** 2528470 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1264052/tms320f280049-question-about-nan-value-in-cla

器件型号:TMS320F280049

亲爱的香榭丽舍大街,

我是为我们的客户提出这个问题

NaN 值会出现在 CLA 中吗? 如何检测是否存在 NaN 值?
2.是否有方法可以模拟 CLA 中 NaN 值的生成? ?
3.如果出现 NaN、那么我们 在 CLA 中再次为 NaN 值变量分配一个常量数字、该变量能够返回常量数字吗?  或者变量是否仍然为 Nan?

您能帮助进行确认吗? 谢谢!

此致、

朱莉娅

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Champs:请 尽快更新此问题!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    1. NaN 值会出现在 CLA 中吗? 如何检测是否有 NaN 值?

    我认为 CLA 不支持 isnan()。 我将仔细检查这一点。 NaN 是一个浮点值、其所有指数位都设置为"1"、因此您可以读出十六进制值并将指数位与1进行比较。  

    Unknown 说:
    2. 有没有方法可以模拟 CLA 中的 NaN 值生成? ?[/报价]

    您可以尝试强制变量使用特定的 NaN 十六进制值、如下所示:

        float result = 0.0;
        uint32_t myNaN = 0x7FBFFFFF;
        uint32_t *ptr;
        ptr = (uint32_t *)&result;
        *ptr = myNaN;

    Unknown 说:
    3. 如果出现 NaN、那么我们 再次在 CLA 中为 NaN 值变量分配一个常量数、该变量能够返回常量数吗?  或者变量是否仍然为 NaN?

    您可以将变量重新分配到新值。  

    [/quote]