工具/软件: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