【发布时间】:2013-10-26 17:17:00
【问题描述】:
我正在尝试编写一个程序来在输入二进制数后计算 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。
有什么帮助吗?
【问题讨论】:
-
第一位是符号。请改用无符号。
-
@ceving Java 没有无符号长类型。
-
@Boann 我没有一天没有学到 Java 学不到的新东西。
标签: java ones-complement