`
xinklabi
  • 浏览: 1590867 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

Math.abs()绝对值取到的数不一定是正数

 
阅读更多

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.

源码:

public static int abs(int a) {

        return (a < 0) ? -a : a;

    }

解释:只是对负数做了个取反,对于下面这种临界值

 

实际操作(Integer的最小值操作):

System.out.println(Integer.MIN_VALUE);

System.out.println(Math.abs(Integer.MIN_VALUE));

System.out.println(Math.abs(Integer.MIN_VALUE+1));

结果:

-2147483648

-2147483648

2147483647

 

实际操作(long值操作,然后强转int):

//= 2的32次方+ Integer.MAX_VALUE + 1 = 二进制的31个0+1+1+31个0

long aaa = new BigDecimal(2).pow(32).longValue() + Integer.MAX_VALUE + 1;

System.out.println(aaa);

System.out.println((int)Math.abs(aaa));

结果:

6442450944

-2147483648

 

分享到:
评论

相关推荐

    mathjs常用函数使用示例及中文说明

    文件中提供常用的功能函数示例,包括表达式解析(math.evaluate)、绝对值(math.abs)、加(math.add)、减(math.subtract)、乘(math.multiply)、除(math.divide)、幂运算(math.pow)。mathjs实例创建及配置...

    Javascript四舍五入Math.round()与Math.pow()使用介绍

    Math.pow()函数在JavaScript中用于计算一个数的幂。它的第一个参数是底数,第二个参数是指数,函数会返回底数的指数次幂。例如: - Math.pow(2, 10) 返回 1024,因为2的10次方等于1024 - Math.pow(1024, 0.1) 返回 ...

    Math.uuid.js

    《JavaScript中的UUID生成:深入理解Math.uuid.js》 在JavaScript编程中,UUID(Universally Unique Identifier)是一种广泛应用的全局唯一标识符,它主要用于创建对象的唯一ID,尤其是在分布式环境中。Math.uuid....

    介绍JavaScript中Math.abs()方法的使用

    1. 如果x是正数或者零,Math.abs()方法返回x的原值。 2. 如果x是负数,Math.abs()方法返回x的相反数。 3. 如果x是NaN,Math.abs()方法返回NaN。 4. 如果x是字符串,JavaScript会尝试将字符串解析成一个数字,如果...

    math.min.js

    * math.js * https://github.com/josdejong/mathjs * * Math.js is an extensive math library for JavaScript and Node.js, * It features real and complex numbers, units, matrices, a large set of * ...

    math.random用法

    可以使用 Math.round(Math.random()*(y-x))+x 生成一个 x 到 y 之间的随机数,例如生成一个 5 到 20 之间的随机数可以使用 Math.round(Math.random()*15)+5。 6. 应用实例 在 Flash 中,可以使用 Math.random() ...

    【Java】Math.random()

    Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 for (int i = 0; i &lt; 5; i++) { ...

    JAVA开发实例39个经典实例..绝对值 下载学习. 开发应用

    1. **绝对值**:在Java中,获取一个数的绝对值可以使用`Math.abs()`函数。例如,`int absValue = Math.abs(-5);`会返回5。这个实例可能包含了如何在不同场景下使用绝对值的示例。 2. **基础语法**:Java的基本语法...

    c标准库

    《C标准库》第七章主要介绍了C语言标准库中的数学函数库&lt;math.h&gt;。这一章节详细阐述了&lt;math.h&gt;库中各种数学函数的定义、使用方法以及相关的宏定义和类型定义。通过理解这一章节的内容,C语言开发者能够掌握如何在...

    tommath.zip_tommath_tommath.h_tommath.pdf_国密

    用于大数计算,用于国密加密、RSA加密等

    python源码math.py

    python源码,math.py,math.nan acos acosh asin asinh atan atan2 ceil

    java.math.BigDecimal 操作类

    java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等

    C_中math.h函数总结

    C语言math.h函数总结 C语言中的math.h函数库提供了多种数学运算函数,下面对其中的一些函数进行总结: abs函数 函数原型:int abs(int x); 函数功能:求整数x的绝对值 函数返回:计算结果 参数说明:x为整数 所属...

    js Math.js bigNumber可以解决js运算精度丢失问题

    使用示例: math.config({ number:'BigNumber' }) let result=math.parser().eval(a+ "-" + b); //a,b是需要计算的值,中间是运算符

    Can't find a codec for class java.math.BigDecimal.txt

    解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal

    JS脚本Math方法(强烈推荐).pdf

    1. `Math.abs(x)`:返回x的绝对值。 2. `Math.sqrt(x)`:返回x的平方根。 3. `Math.random()`:返回0到1之间(包括0但不包括1)的一个伪随机数。 4. `Math.sin(x)`:返回弧度制的x的正弦值。 5. `Math.cos(x)`:返回...

    使用Math.floor与Math.random取随机整数的方法详解

    )其实返回值就是该数的整数位:Math.floor(0.666) –&gt; 0Math.floor(39.2783) –&gt; 39 所以我们可以使用Math.floor(Math.random())去获取你想要的一个范围内的整数。如:现在要从1~52内取一个随机数:首先Math....

    Js中Math方法的使用

    需要注意的是,对于那些恰好处于两个整数中间的数(如5.5),`Math.round()`的处理方式取决于实现。在大多数情况下,JavaScript会将其向上取整。 #### Math.floor() `Math.floor()`函数返回小于或等于一个指定数字...

    头文件math.h

    cmath头文件

Global site tag (gtag.js) - Google Analytics