2013-04-29 69 views
-1

是否可以避免浮点溢出?避免浮点溢出?

如果是这样,怎么样?

如果没有,如果您使用自己的浮点数表示法 - 是否有一些不同的方式可以创建,以表示它不必担心溢出?

+0

你是在谈论一些语言或一般的浮点数? – Alexey 2013-04-29 03:00:39

+0

一般来说:设置一个fp陷阱。这是如何完成的,部分取决于系统的体系结构。通常情况下,系统硬件会在启用陷阱并发生fp异常(如溢出)时引发SIGFPE。关于POSIX世界中的SIGFPE信号的讨论,请参阅:http://man7.org/linux/man-pages/man2/signal.2.html – 2013-04-29 03:06:07

+0

我的意思是一般。所以,如果我设置了一个fp陷阱,那只会让我知道存在溢出,对吧?无论如何仍然代表溢出的数字,即使我需要写我自己的数据结构或什么? – Mastid 2013-04-29 03:13:10

回答

0

是否可以避免浮点溢出?

这取决于你正在尝试做什么。

如果是这样,怎么样?

这取决于你正在尝试做什么。

如果不是,如果你使用了浮点 号 - 你自己的表现是存在的,你可以创建代表它 ,你不必担心溢出一些不同的方式?

是的。但这并不简单,你最好使用现有的库。有些例子参见this stackoverflow question

0

是的,可以避免浮点溢出。但是,这样做的适当方法取决于您的应用程序。在预先知道数字范围的应用中,设计不会发生溢出的计算可能是适当的。如果应用程序必须处理通常不易控制的计算,则可能适合在某些点测试溢出,调整数字以避免它,并保留其他信息以稍后更正结果。或者设计一个用于浮点运算的系统可能是合适的。

在推荐之前,您必须指定更多关于需求的信息。这有点像问:“是否有可能离开公路?”答案当然是肯定的,但没有人能告诉你,除非他们知道你想要的地方,否则全地形车,船只或飞机是最好的解决方案去。