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.

[参考译文] MSP-IQMATHLIB:对于没有小数点的负字符串,_atoQ()中存在错误

Guru**** 2528280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/804458/msp-iqmathlib-bug-in-_atoq-for-negative-strings-without-a-decimal-point

器件型号:MSP-IQMATHLIB

与此处的问题类似: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/348830/1830267#1830267

如果我将负字符串传递到_atoQ(),结果的极性取决于是否包含小数点。

例如、以下示例演示了此问题:

_Q8 Expected =_Q8 (-50.0);
_Q8 without =_atoQ8 ("-50");
_Q8 with =_atoQ8 ("-50。");

printf ("预期:0x%x (%d)\n",预期,_Q8int (预期));
printf ("不包括:0x%x (%d)\n",不包括,_Q8int (不包括));
printf ("包括:%x (%d)


,不

包括0x50*);打印
:0x50*(不包括0x00*) 

所有结果应为-50。 *

显然、这不是太难解决的问题、但它肯定是一个应由库解决的错误。

此外、在任何地方、我们都可以找到针对类似库的未决错误的状态吗? 我发现、在发布类似内容之前、最好先查看已打开的错误列表。

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

    您好!

    [引用 user="Andrew Dodd1">与此处的问题类似: http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/348830/1830267#1830267

    首先、感谢您搜索论坛并找到此相关主题。 它有助于确定背景、尤其是在之前讨论过类似主题时。

    [引用用户="Andrew Dodd1"]

    如果我将负字符串传递到_atoQ(),结果的极性取决于是否包含小数点。

    例如、以下示例演示了此问题:

    [/报价]

    此外、感谢您共享代码。 我可以快速、轻松地在我身边复制它。

    [引用 user="Andrew Dodd1"]很显然,这不是太难解决的问题,但这肯定是一个应该由库解决的错误。

    同意。 我建议不要使用字符串功能、而是改用_Q8函数。

    [引用 user="Andrew Dodd1">此外,是否有任何地方可以找到针对类似库的未决错误的状态? 我发现、在发布类似内容之前、通常最好先查看已打开的错误列表。

    遗憾的是、我们的错误列表不能公开访问。 但是、您在发布前通过搜索论坛所做的工作非常出色。 在内部、我能够找到上面链接的线程中提到的错误。 最初的问题似乎已经解决,但后续问题没有解决。 我将更新错误、以便在以后的版本中解决。 感谢您让我们意识到这一点!

    此致、

    James

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

    遗憾的是、我无法使用浮点转换宏、因为我具有的值是一个字符串(即它来自命令行界面)。 我想我可以转换为浮点/双精度数,然后转换为 Q 数字...但这种情况没有达到这个点。

    我很高兴能为您重点介绍。 很遗憾、错误跟踪等不可用、因为它肯定会有所帮助。

    总之、请继续了解 TI 的优秀产品、您发布的库非常棒。 希望这个很快就会有新版本、
    谢谢、
    Andrew
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    有道理。 也许您的代码可以检查终端中的字符串是否包含十进制、如果不包含十进制、则在将其传递到 Q 函数之前在末尾附加一个十进制。 也感谢您的反馈。 我将把它传递给大家。

    此致、

    James