0

考虑代码:

public class Test
{   
    public static void main(String[] args)
    {
        int i = -0777;
        System.out.printf("%d",i);
    }
}

该代码产生输出-511,我期望它是-777

4

2 回答 2

8

-07770前缀表示数字是八进制的。

-777八进制是-511十进制。

于 2013-04-28T06:47:15.090 回答
1

-0777表示数字是八进制。所以,

-(7*(8^2)+7*(8^1)+7*(8^0))

哪个是-511小数点

于 2013-04-28T06:57:31.600 回答