【问题标题】:VS2008 C++: int32_t num = 0502; // num = 322 [duplicate]VS2008 C++: int32_t num = 0502; // num = 322 [重复]
【发布时间】:2013-06-10 16:52:45
【问题描述】:

我正在使用 Visual Studio 2008 Express。如果我调试这个程序,变量 num 保持值 322,即使它被初始化为 0502。我在这里缺少什么?

int main()
{
    int32_t num = 0502;

    return 0;
}

int32_t 在 pstdint.h 版本 0.1.12 的便携版中定义为

typedef signed long int32_t;

【问题讨论】:

  • @rubenvb 这不是重复的 - 这个问题是一个提示(如果你不知道八进制数字是什么。)

标签: c++


【解决方案1】:

0502 是octal,因为它有前缀0octal 中的 502 是 decimal 中的 322。

【讨论】:

【解决方案2】:

如果您以0 开头的整数值,则将其视为八进制数,同样0x 用于十六进制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2021-08-02
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多