C++中的整数可以是NaN吗?

MBZ*_*MBZ 27 c++ nan

我可以设置intNaN?如果是的话,那我怎么才能检查一个intNaN或不是?

Der*_*hen 38

不,NaN是浮点值.

a的每个可能值int都是一个数字.

编辑

标准说:

6.2.6.2 40)填充位的某些组合可能会生成陷阱表示,例如,如果一个填充位是奇偶校验位.无论如何,对有效值的算术运算除了作为异常条件(如溢出)的一部分之外,不能生成陷阱表示,并且对于无符号类型不会发生这种情况.

因此可能存在一些特定于实现的无效整数值,但是没有定义生成它们的方法.

  • @Potatoswatter根据[link](http://en.cppreference.com/w/cpp/types/numeric_limits/quiet_NaN)`quiet_NaN()`将为`int`返回`0`. (4认同)

Mar*_*off 5

通常(特别是在C++的情况下,据我所知):没有.

整数NaN

大多数固定大小的整数格式没有任何明确指示无效数据的方法.