gpt4 book ai didi

floating-point - 安静 NaN 和信号 NaN 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 05:10:01 25 4
gpt4 key购买 nike

我读过有关浮点的内容,并且了解 NaN 可能是由运算产生的。但我无法理解这些到底是什么概念。它们有什么区别?

C++编程时可以生成哪一个?作为一名程序员,我可以编写一个导致 sNaN 的程序吗?

最佳答案

当运算结果为安静的 NaN 时,在程序检查结果并看到 NaN 之前,并不表示有任何异常。也就是说,如果浮点是在软件中实现的,则计算将在没有来自浮点单元 (FPU) 或库的任何信号的情况下继续进行。信号 NaN 将产生一个信号,通常以 FPU 异常的形式。是否抛出异常取决于FPU的状态。

C++11添加了一些语言controls over the floating-point environment并提供standardized ways to create and test for NaNs 。然而,控件是否实现并没有很好地标准化,并且浮点异常通常不会像标准 C++ 异常那样被捕获。

在 POSIX/Unix 系统中,通常使用 SIGFPE 的处理程序捕获浮点异常。 .

关于floating-point - 安静 NaN 和信号 NaN 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18118408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com