私の知る限り、2 の補数を使用し、最初の数値が 1 の場合、数値を反転して新しいバイトの値を見つけ、それを負にします。Javadoc によると、Integer.parseInt(String s, radix ) と Integer.valueOf(String s, radix) は両方とも符号付き整数オブジェクトを返す必要がありますが、これでテストすると:
System.out.println(Integer.parseInt("10000001", 2));
System.out.println(Integer.valueOf("10000001", 2));
私は得る:
129
129
私の計算では-127になりますが。興味深いのは
System.out.println(Integer.parseInt("-10000001", 2));
プリントアウト:
-129
バイト(および基数= 2)を入力すると、メソッドが正しく署名された値を返す別のJavaメソッドを知っている人はいますか?