如何解决IEEE 754 溢出:为什么只发出不精确而不是溢出和不精确异常信号?
IEEE 754-2008(7.4 溢出)(强调):
此外,在默认的溢出异常处理下,溢出标志应引发,不准确的异常应发出信号。
C11(7.6.2.3 feraiseexcept 函数)(强调):
feraiseexcept 函数是否在引发“溢出”或“下溢”浮点异常时额外引发“不精确”浮点异常点异常是实现定义的。
即C11 在这两种情况下都使用术语“引发异常”(这很清楚),而 IEEE 754-2008 使用术语“引发标志”和“发出信号的异常”(不太清楚)。标准之间的术语没有一致性。困惑。
IEEE 754-2008 说(2.1.18 例外):
请注意,event、exception 和 signal 在不同的编程环境中以不同的方式定义。
和:
2.1.48 信号:当对某些特定操作数的操作没有适合每个合理应用程序的结果时,该操作可能会通过调用默认处理来发出一个或多个异常信号,或者,如果明确请求,由用户选择的语言定义的替代处理。
最后一个问题:在 7.4 溢出中,为什么“应该发出不精确的异常信号”而不是“应该发出溢出和不精确的异常信号”?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。