java中真正的长类型范围是什么?

时间:2012-11-02 18:46:45

标签: java types primitive-types

根据我发现的每个参考文献,Java中的long类型范围从-9,223,372,036,854,775,808到+9,223,372,036,854,775,807。 我在下面写了下面的代码,

public static void main(String[] args){
    long x = 12 * 24 * 60 * 1000 * 1000; 
    long y = 12 * 60 * 1000 * 1000;
    System.out.print(x / y); 
}

预期结果为24;但输出为0。

2 个答案:

答案 0 :(得分:3)

在您的代码中,12 * 24 * 60 * 1000 * 1000被评估为整数。然后你将它分配给很长时间。

尝试

long x = 12L * 24 * 60 * 1000 * 1000; 
    long y = 12L * 60 * 1000 * 1000;
    System.out.print(x / y); 
}

答案 1 :(得分:3)

你的文字是int的......

这使得x = 100130816而不是17280000000

你走了:

public static void main(String[] args) {
        long x = 12L * 24L * 60L * 1000L * 1000L;
        long y = 12L * 60L * 1000L * 1000L;
        System.out.print(x + " " + y + " " + x / y);

}

结果是24

P.S。我第一次解决了这个问题,但你删除了问题......

相关问题