黑马程序员技术交流社区

标题: 负数的绝对值还是负数 [打印本页]

作者: 赵侃    时间: 2011-8-9 02:48
标题: 负数的绝对值还是负数
[code=java]public class Test04 {
    public static void main(String[] args) {
        int num = Integer.MIN_VALUE;
        if (num < 0 && num == Math.abs(num)) {
            System.out.println("Hello World!");
        }
    }
}[/code]
Hello World!是可以打印出来的,说明Math.abs(Integer.MIN_VALUE)结果还是 Integer.MIN_VALUE,abs()方法的帮助文档里就有这句:
注意,如果参数等于 Integer.MIN_VALUE 的值(即能够表示的最小负 int 值),则结果与该值相同且为负。
可这是为什么呢,求高人解答
作者: 匿名    时间: 2011-8-10 06:07
这个就麻烦了,涉及到浮点数在计算机的存储方式。类似讲解的文章我看过不下五篇,最后结论是,你不用它,这头懂了,那头又忘了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2