System.out.println(Integer.toBinaryString(~5));
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网站空间、营销软件、网站建设、沈北新网站维护、网站推广。
System.out.println(Integer.toBinaryString(~-5));
6的二进制是
0000 0000 0000 0000 0000 0000 0000 0110
反码
1111 1111 1111 1111 1111 1111 1111 1001
即二补码的-7
java整型是32bit运算
内存上“反码值”在最后在System.out.print等格式化输出时仍按“补码”解析成-7。
即刚刚的反码看成补码
[1][111 1111 1111 1111 1111 1111 1111 1001]
除符号位外的值部分反码
000 0000 0000 0000 0000 0000 0000 0110 即(6)10
根据补码计算方法,加1得 7,
加符号位,得-7
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
以8位为例
11 原码为 0000 1011
-11 原码为 1000 1011
-11 反码为 1111 0100