0

我有一个完整的 C++ 开发软件设计。我真的不想改变结构。

但是,有时我会得到错误的输出来存储在整数变量中。输出不是任何数字,输出是 NaN。但我不想添加任何其他变量来检查我的整数变量是否错误。

有没有办法将诸如 NaN 之类的东西存储在整数变量中?

4

2 回答 2

2

这不是魔术,而是信息论基础。int 是在 [INT_MIN, INT_MAX] 范围内存储值的东西。这就是它所能做的,不多也不少。

您限制只使用 int,而您只能选择使用某个值作为指标。如果这还不够好,您必须重新考虑约束。

于 2013-06-12T14:02:59.273 回答
0

不,没有任何值可以存储在可以表示 a 的整数类型中NaN

如果你需要存储这个值,你将不得不重新考虑你的设计。这并不一定意味着添加新变量,但您可能会更改现有变量。例如,int您当前存储此值的变量NaN可以更改为类似boost::optional <int>. 这样,如果值为 ,则可以取消设置,NaN否则可以设置。

于 2013-06-12T14:05:50.197 回答