可能重复: why is initializing an integer in VC++ to 010 different from initialising it to 10? 这让我很困惑,我希望你可以回答我的问题。这个代码怎么会产生输出“116”? #include <iostream>
int main()
{
std::cout << 0164 << std::endl;
这可能是不可能的,但我认为它不能伤害要求。 我有一个程序需要将非整数小数转换为八进制符号。据我所知,Java只能自动处理整数八进制。我拼凑了一些杂物,其中包括将这个数字分解为八个幂次,就像这样。 .abcd = X *(1/8)+ Y *(1/64)+ Z *(1/512)+ ...... 这将显示为“0.xyz “, 如果那有意义的话。问题是,这导致了很多舍入/截断错误的长数字。有一个更好的方法