代码之家  ›  专栏  ›  技术社区  ›  MBZ

一个整数是C++中的楠吗?

  •  25
  • MBZ  · 技术社区  · 14 年前

    我能设定一个 int NaN ? 如果是,那么我如何检查 内景

    4 回复  |  直到 12 年前
        1
  •  39
  •   DerKuchen    14 年前

    不,NaN是浮点值。

    所有可能的价值 int 是一个数字。

    标准规定:

    6.2.6.2条 40)一些填充位的组合可能会产生陷阱 填充位是奇偶校验位。 不管怎样, 上没有算术运算 代表 不属于 特殊情况,如 溢出,这不能与 无符号类型。

    所以在那里 可以 是一些特定于实现的无效整数值,但没有定义生成它们的方法。

        2
  •  5
  •   Mark Rushakoff    14 年前

    Generally (and specifically in the case of C++, to the best of my knowledge): no .

    大多数固定大小的整数格式没有任何显式指示无效数据的方式。

        3
  •  1
  •   codaddict    14 年前

    不,你不能设置 int 给南。

        4
  •  1
  •   Manoj R    14 年前

    没有任何特定的int值作为Nan。通常人们使用一些大整数来表示这个值。如果它是无符号int,那么它通常使用-1。

        5
  •  0
  •   gturbo    5 年前

    我认为最适合处理失败的API是在API中返回第二个整数错误代码,如:

    int myfunc(args, int* realReturn);
    

    返回的int是一个错误代码。

    int myInt;
    if (myFunc(args, &myInt) != 0) {
    //handle error
    }