java中-3及-3的反码有区别吗。求详细的步骤。-3是2怎么得来的

有区别 0000 0000 0000 0000 0000 0000 0000 0011 是3 1111 1111 1111 1111 1111 1111 1111 1101 是-3 即3的反码+1 0000 0000 0000 0000 0000 0000 0000 0010 再取反就是~(-3) 结果是2 而反码则为1000 0000 0000 0000 0000 0010 3:...
java中-3及-3的反码有区别吗。求详细的步骤。-3是2怎么得来的
有区别
0000 0000 0000 0000 0000 0000 0000 0011 是3
1111 1111 1111 1111 1111 1111 1111 1101 是-3 即3的反码+1
0000 0000 0000 0000 0000 0000 0000 0010 再取反就是~(-3) 结果是2
而反码则为1000 0000 0000 0000 0000 00102014-12-02
3:00000000 00000000 00000000 00000011
-3:11111111 11111111 11111111 11111101
~(-3) 00000000 00000000 00000000 00000010 = 22014-12-02
mengvlog 阅读 10 次 更新于 2025-07-19 23:18:17 我来答关注问题0
  •  文暄生活科普 计算机byte字节数组转换为int其中细节问题

    以-3为例,其对应的原码、反码、补码分别为10000000000000000000000000000011、11111111111111111111111111111100、11111111111111111111111111111101。通过补码形式进行计算,解决了-0和+0的问题。在Java中,进行字节数组转换为int类型的操作时,需要根据字节值的大小进行区别处理。例如,对于大于127的字节值,直接强转后高位...

  •  microroom java位运算符中~2为什么是-3

    整数默认用int类型(32位)以补码的形式存储,2的二进制表示是000...00010(10前面有30个0),因此~2就是111...11101(01前面有30个1)。而-3的原码是100...00011(11前面有29个0),反码是1111...11100(00前面有30个1),补码是111...11101(01前面有30个1)不就是~2吗?因此~2是-3...

  •  1124803369 在java的位运算中,为什么~是直接取反,而不是先求补码再取反呢?

    ~是求反运算,与取补码的运算无关,就是严格地按照二进制数逐位进行取反运算。另外你的图片无法浏览,分辨不清

  •  沫初羽_ >>与>>>的问题

    回到题目上来,-3的二进制码是3-1的反码,也就如图一所示,当数据类型为int时为:11111111111111111111111111111101 -3 >>1 就是:11111111111111111111111111111110 也就是-2 -3 >>>1 会无视符号(等于是转正数了)为:0 111 1111 1111 1111 1111 1111 1111 1110 仅比最大的int...

  •  百度网友03677c4 菜鸟求教:java 中的“取补码”问题!?

    过程为 11111101 取反 00000010 加1 00000011 最后把00000011转为十进制3,但不要丢了符号,因此2的补码为-3.不知楼主看懂了么。ps:楼主应该知道十进制、二进制、八进制、十六进制的相互转换吧,不知道的话,可要好好补补啊!

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部