牛客一道题

What results from the following code fragment?
1
2
3
int i =  5 ;
int j =  10 ;
System.out.println(i + ~j);

正确答案: C   你的答案: D (错误)

Compilation error because”~”doesn’t operate on integers
-5
-6
15
计算机本身储存的就是补码:
那么10的补码就是10的原码:0000 0000 0000 1010——这是补码,因为现在是计算机在计算
~10的补码就是:1111 1111 1111 0101
~10的反码就是:1111 1111 1111 0100——补码减1
~10的原码就是:1000 0000 0000 1011——反码取反:这个才是正常二进制数,换算为整数为-11
原码才可以对应为正常的整数,补码只有转换为原码才能被正常人类识别。
 

关注公众号回复关键字可获取学习资源呦 (ps:如果没有想要的请在后台给我留言)

牛客一道题_第1张图片

 

 

 

你可能感兴趣的:(java基础)