这是一个输入整数求二进制补码的代码
package C1;
import java.util.Scanner;
public class word01 {
public static void two(int i){
if (i == 0) {
return;
}
two(i / 2);
System.out.print(i % 2);
}
public static void main (String[] args) throws java.lang.Exception{
Scanner input=new Scanner(System.in);
String num;
System.out.print("请输入一个整数:");
if(input.hasNextInt()){
num=input.next();
int i=Integer.parseInt(num);
if (i > 0) two(i);
if (i == 0) System.out.print(0);
if (i < 0) two(i + 2147483647 + 1);
}else {
System.out.print("输入错误!");
}
}
}
想问一下这行代码
if (i < 0) two(i + 2147483647 + 1);
的作用是什么?