Java中的机器码都用补码表示,但是java中好像没有提供从补码转换到字符串的操作,当然也可以自己写,但是java里提供了现成的Byte原码与字符串之间的转换方法
Integer.toBinaryString(int i) 从一个int(一个前24位都为0的byte)到字符串,但是不会自动补齐,比如2直接变成"10"而不是"000000010"
IntegerParseInt(String s, int radix) 从一个字符串s(原码)转到 int, 底数为radix。 但是这里有个问题,如果最高位是1会导致溢出, 因为原码8位正数只能到2^7再大就是负数了,而这个函数对负数只有一种处理方式就是,把最高位的那个字符变为"-",即-2只能表示成"-0000010"(不知为何要如此处理,感觉很不方便,而且API里说的也不清楚),自己写了两个转换函数,目前看来没有问题


















































































