Math.abs(~10)

以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!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.你自已决定是否需要有正负: 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们必须自已决定某个...
    Xiho丶阅读 6,662评论 0 2
  • 我们已经知道计算机中,所有数据最终都是使用二进制数表达。我们也已经学会如何将一个10进制数如何转换为二进制数以及如...
    FantJ阅读 37,056评论 9 29
  • 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 000...
    子喻爱吃黄焖鸡阅读 3,564评论 0 0
  • 一、二进制:所谓二进制就是逢二进一 (0,1), 因为使用二进制只有 0, 1 两个数,简单,易于电子方式实现 ...
    hello大象阅读 8,883评论 0 1
  • 想到你那洒脱的笑容与动人的曲线,我经不住提起笔,我选择这种原始的方式来表述我对你的爱,希望你能接受文笔可能不好,但...
    轩少暖树阅读 1,459评论 0 0

友情链接更多精彩内容