~(-5)在java中等于几?

要解决此类问题:
准备, 真值,原码,反码,补码,移码,及其相互转换,自行Google。

第一,要明白整数是如何在计算机中存储的,也就是-5在内存中的二进制串是什么?

  1. 真值就是具有现实意义的数字,在本例中就是-5,和等于的那个
  2. 计算机存储真值的补码,位运算作用在补码上。
  3. -5的补码为1111 1111 1111 1111 1111 1111 1111 1011

第二,~单目运算符对-5对应的二进制串进行了怎样的操作?

  1. ~对-5的补码每一位都进行了取反操作,结果为0000 0000 0000 0000 0000 0000 0000 0100
    也是一个补码。

第三,操作后的二进制串对应的真值是多少?

  1. 因为第二步得出的二进制补码最高位是0,所以其是个正数,对应的真值是4。
    也就是说~(-5)在java中等于4。
    ~(-5)在java中等于几?_第1张图片

你可能感兴趣的:(java)