我正在尝试编写一个程序来在输入二进制数后计算 1 的补码。这就是我必须要做的:
import java.util.Scanner;
public class BitWiseComplement {
public static void main(String[] args) {
Scanner keysIn = new Scanner(System.in);
System.out.println("Please enter your number: ");
long originalNum = keysIn.nextLong();
System.out.println(~originalNum);
}
}
但是,当我输入 0111011 时,我得到 -111012。我认为 ~ 运算符应该反转数字,以便所有 0 都是 1,所有 1 都是 0。
有什么帮助吗?