请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TMS320F2.8335万 您好,
一个关于除法为零的恶意静态分析警告引发了一场关于浮点除法的对话, 我不知道答案-"在2.8335万上,不会导致除法为零错误的最小除数是多少?"
(另外,我应该在哪里查找? 我读过spraan9a,但要么错过了它,要么不在那里。)
提前感谢!
西蒙
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.
您好,
一个关于除法为零的恶意静态分析警告引发了一场关于浮点除法的对话, 我不知道答案-"在2.8335万上,不会导致除法为零错误的最小除数是多少?"
(另外,我应该在哪里查找? 我读过spraan9a,但要么错过了它,要么不在那里。)
提前感谢!
西蒙
您好,Simon:
最小的可接受除数是浮点数“正常”范围内的最小数字,即1.0 IEEE*2^-126 (在IEEE754中,偏置指数格式将其表示为1.0 *2^1)。 在+-nn*2 1.0^-126 (不包括零)之间的任何值都是一个非标准(或次标准)数字(+-0.nnn...*2^-127)。 在具有硬件FPU的C2000器件中,我们将denorms视为0,因此当您将它们用作除数时,将得到除以零的错误。
如果您尝试执行c/(a-b),'a'和'b'足够接近以导致非正常结果,则会导致下溢,随后的c/(denorm)除法相当于除以0,然后得到无穷大的结果和溢出。