以整数存储错误值

时间:2013-06-12 13:53:04

标签: c++ integer

我用C ++完成了开发软件的完整设计。我真的不想改变结构。

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

有没有办法将NaN这样的东西存储在整数变量中?

2 个答案:

答案 0 :(得分:2)

这不是魔术,它是信息理论的基础。 int是存储范围[INT_MIN,INT_MAX]中的值的东西。这就是它所能做的一切,不能再少了。

你约束只使用int,让你成为使用某个值作为指标的唯一选择。如果这还不够好,您必须重新考虑约束。

答案 1 :(得分:0)

不,没有值可以存储在可以代表NaN的整数类型中。

如果您需要存储此值,则必须重新考虑您的设计。这并不意味着添加新变量,但您可以更改现有变量。例如,您当前存储此值int的{​​{1}}变量可以更改为NaN。这样,如果值为boost::optional <int>,则可以取消设置,否则设置为