Math.abs(n):对int、long、float、double类型的数取绝对值

其中 int 类型的数取值范围是 -2^31——2^31-1(-2147483648 ~ 2147483647)

举例:

 System.out.println(Math.abs(-2147483647));
//输出结果:2147483647 System.out.println(Math.abs(-2147483648));
//输出结果:-2147483648

为什么会得到这样的结果呢?-2147483648没有超过 int 的取值范围,但是取绝对值后得到的还是负数?

查看了Math.abs()的注释,看到了一段解释:

Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.

(百度翻译:请注意,如果参数等于integer.min_value的值(最负的可表示int值),则结果是相同的值,这是负值。)

原来对于这个方法,如果是-2147483648不会进行处理,得到的还是负数

最新文章

  1. ajax教程
  2. mysql求最大第二,最大第三个数
  3. .zip版初次安装mysql时遇到的my.ini、服务无法启动以及设置登录密码的问题
  4. asp.net mvc return file result
  5. WCF ABC
  6. 深入了解Hibernate的缓存使用
  7. C++ 常见崩溃问题分析
  8. HDU 4747 Mex(线段树)
  9. eclipse项目出现红色叉叉解决方案
  10. C# 开机自启动和最小化托盘显示
  11. Python扩展模块——自动化(testlinkAPI的使用)
  12. hdu2795 线段树 贴广告
  13. Spring MVC - 静态页面
  14. Pytorch tutorial 之Datar Loading and Processing (1)
  15. C++语言学习
  16. U-boot中SPL功能和源码流程分析
  17. day08作业---函数
  18. Linux CentOS下Python+robot framework环境搭建
  19. 实战分析: MySQL字符集
  20. CI框架 -- 核心文件 之 Hooks.php

热门文章

  1. UOJ Contest #50: Goodbye Jihai
  2. vue的高级使用技巧
  3. JavaSwing标准对话框
  4. JDBC和连接池
  5. php 实现店铺装修2
  6. Slim安装以及使用
  7. 三 PrePareStatement注入,DELETE和TRUNCATE
  8. shell 脚本终止进程
  9. Intel欲与AMD共同做大PC市场
  10. JAVA基础-反射机制