今天刷题突然想到负数怎么转为二进制(补码)的问题
@Test
public void toBinary(){
int a = -3;
StringBuffer str = new StringBuffer();
for (int i = 0; i < 32; i++)
{
// 0x80000000 是一个首位为1,其余位数为0的整数
int t = (a & 0x80000000 >>> i) >>> (31 - i);
str.append(t);
}
System.out.println(str);
}