2進数を入力してから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 になるように数値を反転することになっていると思いました。
何か助けはありますか?