Math.abs()不能做到的事情
2012-02-26 15:49
232 查看
Math.abs( T a) 是对数据进行求绝对值的,但是在下面的测试上就不能够完美的表现出他的功能。
对于Integer.MIN_VALUE和Long.MIN_VALUE来说,Math.abs()对他们不起作用。返回的还是原来的值。
public class absTest {
public static void main(String[] args) {
int min = Integer.MIN_VALUE;
System.out.println(min); // 输出-2147483648
min = Math.abs(min);
System.out.println(min); // 输出-2147483648
// 说明Math.abs(int MIN_VALUE) 不能将其转化为正整数,同理对于Long型也是一样的
// 在Math.abs()的文档中有特别的说明说是对于Long.MIN_VALUE、Integer.MIN_VALUE 的值(即能够表示的最小负 int、long 值),
// 那么结果与该值相同且为负。
//下面输出的结果为 min_value
if(min == Integer.MAX_VALUE)
System.out.println("max_value");
else if(min == Integer.MIN_VALUE)
System.out.println("min_value");
}
}
对于Integer.MIN_VALUE和Long.MIN_VALUE来说,Math.abs()对他们不起作用。返回的还是原来的值。
public class absTest {
public static void main(String[] args) {
int min = Integer.MIN_VALUE;
System.out.println(min); // 输出-2147483648
min = Math.abs(min);
System.out.println(min); // 输出-2147483648
// 说明Math.abs(int MIN_VALUE) 不能将其转化为正整数,同理对于Long型也是一样的
// 在Math.abs()的文档中有特别的说明说是对于Long.MIN_VALUE、Integer.MIN_VALUE 的值(即能够表示的最小负 int、long 值),
// 那么结果与该值相同且为负。
//下面输出的结果为 min_value
if(min == Integer.MAX_VALUE)
System.out.println("max_value");
else if(min == Integer.MIN_VALUE)
System.out.println("min_value");
}
}
相关文章推荐
- Math.abs()不能做到的事情
- 生活的一大乐趣便是完成别人认为你不能做到的事情
- Math.abs()不能办到的事
- Math.abs()不能办到的事
- Math.abs()不能办到的事
- 天下最不能等待的事情莫过于孝敬自己的父母![转载]
- 成为优秀技术人员必须做到的几件事情
- 我可不能做很多事情
- 想成为优秀的技术人员你必须做到的几件事情
- JavaScript Math.abs() 函数
- math.h的abs返回值()
- Math.abs( x )
- 什么事情做到极致都是很可怕的
- 严防Math.abs()返回负数
- Math.abs()方法不一定总是返回整数
- C#中Interlocked不能保证的事情
- 有几件事情要做到
- 发现Windows的一个很奇怪的事情,文件不能取名"prn"!
- 人生三件不能等的事情(转载)
- 危害百姓的事情我们不能做