美文网首页
Math.abs(~10)

Math.abs(~10)

作者: 这很重要吗 | 来源:发表于2017-06-14 19:59 被阅读0次

    以Math.abs(~10)为例
    10在计算机中是32位的,所以10的二进制是
    00000000 00000000 00000000 00001010
    ~10在计算机中是10取反码,为
    11111111 11111111 11111111 11110101 ,符号位为1所以~10是负数,
    因为负数在计算机中是以正值的补码存在,正值的补码是
    正值是:10再取反就是~10,取反符号为是不变的:
    10000000 00000000 00000000 00001010 正值求出来后,求补码,+1即可
    所以是10000000 00000000 00000000 00001011,所以就是-11,
    所以Math.abs(~10)=Math.abs(-11),所以为11
    同理Math.abs(~2018)=Math.abs(-2019),所以为2019

    由此我们可以看出规律:“~x”的结果为“-(x+1)”
    所以“~2018”就等于“-2019”,Math.abs(-2019)即2019!!

    相关文章

      网友评论

          本文标题:Math.abs(~10)

          本文链接:https://www.haomeiwen.com/subject/jseeqxtx.html