public static void print(int a) {
System.out.print(a + "的二进制数是:");
for (int i = 31; i >= 0; i--) {
System.out.print((a & (1 << i)) == (1 << i) ? "1" : "0");
}
}
输出结果看下:
int类型是4字节的,1个字节8位,也就是32位,
从左往右和2的n次方进行&运算,得到的是我2n次方,则说明当前的这个位置的是1不然是0
2的n次方赢1<<n来表示