将一个整数int转换成二进制输出
//将一个整数int转换成二进制输出
public void print(int num) {
for (int i = 31;i >=0;i--) {
// 用1进行左移并与目标数进行与运算并判断,如果运算结果为0,则说明当前位置的值不为1
System.out.print((num & (1 << i)) == 0? "0" : "1");
}
}
运算符
- | 或运算,有1为1
- & 与运算,有0为0
- ^ 异或运算,相同为1,不同为0
- >> 带符号右移
- >>> 不带符号右移
- << 带符号左移(没有不带符号的左移)
int整型取反公式
二进制公式:-num = ~num + 1
任何一个整数都可以用上述的公式进行取反运算
特例:
- 负数最小数取反+1还是他自己
- 0 取反+1 也是他自己