部件号: TMS320F28386D
您好:
前一段时间、我问了下溢情况下的返回值是多少、我得到了答案、“ 应该 “是 0。
我需要确保它确实是 0、所以更确切地说、“ Will “比“ 应该 “、请您确认一下吗?
另外、您能否告诉我、溢出情况下的返回值是否是可能的最大浮点值?
谢谢您、
此致
Cl é ment
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.
部件号: TMS320F28386D
您好:
前一段时间、我问了下溢情况下的返回值是多少、我得到了答案、“ 应该 “是 0。
我需要确保它确实是 0、所以更确切地说、“ Will “比“ 应该 “、请您确认一下吗?
另外、您能否告诉我、溢出情况下的返回值是否是可能的最大浮点值?
谢谢您、
此致
Cl é ment
尊敬的 Clement:
对延迟的答复表示歉意。
结果:
--测试溢出--
【成功】检测到溢出:结果为无穷大。
——测试下溢——
[SUCCESS]检测到下溢:结果被清除为零。
使用的测试用例:
#include
#include
#include
void test_overflow(){
易失性浮点大值= FLT_MAX;
易失性浮点结果;
printf(“-----测试溢出--\n“);
//printf(“初始值:%f\n“,大);
//强制溢出
结果=大* 10.0f;
//printf(“result:%e\n“、result);
if (isinf (result)){
printf(“[成功【成功】检测到溢出:结果为无穷大。\n“);
}其他{
printf(“[失败【失败】未检测到溢出。\n“);
}
}
void test_unflow(){
易失性浮点小值= FLT_MIN;
易失性浮点结果;
printf(“---测试下溢--\n“);
//printf(“初始值:%e\n“,小);
//通过除以大量数来强制下溢
结果=小/ 1e20f;
//printf(“result:%e\n“、result);
if (result == 0.0f){
printf(“[SUCCESS] Detected Underflow(检测到下溢):结果刷新为零。\n“);
} else if (result < FLT_MIN && result > 0.0f){
printf(“[SUCCESS]检测到下溢:结果异常。\n“);
}其他{
printf(“[失败【失败】未检测到下溢。\n“);
}
}