[题目描述]
  
>description
#### [问题分析]  
[Java位运算](http://shitouer.cn/2013/04/java-bit-operation-tutorial/)
>~ 按位非(NOT),   逐位取反  
>& 按位与(AND),   全部为1为1, 有0为0  
>| 按位或(OR),    全部为0为0, 有1为1  
>^ 按位异或(XOR), 相同为0, 相异为1  
int和long类型最高位为符号位,正数为0,负数为1.正数的反码和补码与原码相同,负数的反码为原码逐位取反,反码加1得到补码,负数是用补码参与运算,得到的也是补码,需要将结果转换为原码。  
>int i=-1  
>原码:1000 0000 0000 0000 0000 0000 0000 0001  
>反码:0111 1111 1111 1111 1111 1111 1111 1110  
>补码:0111 1111 1111 1111 1111 1111 1111 1111  
#### [参考代码]