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.
工具/软件:TI C/C++编译器
您好!
我发现了使用以下函数进行数学运算时出现的问题:
TMS320F28235
TI v18.1.0.LTS 编译器(优化4/5)
CCS v7.3.0.00019
让我提供一个示例代码:
长测试1;
INT 测试2;
… //变量初始化
test2=15;
test1 =(Test2*10)/3; // Test1=5!!!!!!!! 错误!!!
我有测试替代代码、如下所示:
test1 =(Test2*100)/30; // Test1=5!!!!!!!! 错误!!!
test1 = (Test2*101)/30; // Test1=50!!!!!!!! 正确
test1 = (Test2*10L)/3; // Test1=50!!!!!!!! 正确 地强制执行 Sectionon 操作、使其看起来正常工作。
test1 = ((long) Test2*10)/3; // Test1=50!!!!!!!! 正确 地强制第一个操作持续时间、使其看起来正常工作。
如果我将打印分为两个步骤:
test1 =(Test2*10);
test1 = Test1/3; // Test1 = 50!!!!!!!! 正确
因此、我不确定是否已经了解了数学运算问题。
其他测试. 定义
长测试1;
unsigned int Test2;
… … //变量初始化
test2=15;
test1 =(Test2*10)/3; // Test1=50!!!!!!!! 正确!!!
那么、这两种情况之间会发生什么变化? test2定义 int 或 unsigned int..
请为我提供支持!!
此致
Massimo
很遗憾、我无法重现问题。 对于问题表达式的源文件、请按照文章 如何提交编译器测试用例中的说明进行操作。 如果不能清楚哪个表达式有问题,请在此处添加注释/*问题*/。
谢谢、此致、
乔治
感谢您提交测试用例的私人消息。 我能够重现问题。 我提交了 EXT_EP-9621条目 以进行调查。 欢迎您通过 此链接搜索它来跟踪它。
谢谢、此致、
乔治