// 7、位非( ~ )
// 操作数的第n位为1,那么结果的第n位为0,反之。
System.out.println(~5);// 结果为-6
1 回答
已采纳
JustWannaHugU
TA贡献452条经验 获得超796个赞
正数的原码反码补码都相同
原码:00000000 00000000 00000000 00000101
反码:00000000 00000000 00000000 00000101
补码:00000000 00000000 00000000 00000101
取反:11111111 11111111 11111111 11111010
1代表符号位(负数) 这时11111111 11111111 11111111 11111010是某个数的补码
负数的补码为反码+1
所以反码为(补码-1):11111111 11111111 11111111 11111001
负数原码到反码,符号位不变其余取反
所以原码为:10000000 00000000 00000000 00000110
得到 -6
望采纳
添加回答
举报
0/150
提交
取消