0

在 VC++ 9 中尝试这样的东西:

int base = 0010;

然后在调试器中我看到它等于十进制的 8。我不明白。

我认为如果我在数字前明确使用 000,VC++ 会将其解释为二进制格式的数字。

二进制中的 0010 是十进制中的 2(像我们往常一样从右到左读取数字基数)。

0 -> 0

0 -> 1

10 -> 2

那么为什么在这样的定义之后 VC++ 告诉我 0010 是十进制的 8 呢?

如果十进制的 8 等于 bin 中的 1000?

4

1 回答 1

1

0010 是八进制文字(因为它以 0 开头)。它是八进制的 10,即十进制的 8

于 2012-12-24T13:15:10.437 回答