code:
public static void main(String[] args) {
int a = -59;
int a1 = 59;
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(a1));
}
result:
11111111111111111111111111000101
111011
疑惑,在java中int大小不论在什么平台都是32位大小的,可以为什么我打印出这两个数的二进制数,只有前者是32位,还有一个问题是,Integer.toBinaryString(int a) 方法直接是转化为原码表示吗?