私はバイトを2(int)と-1(バイト)と言うことができますが、結果として-3が得られますが、私には正のintを与える操作が必要です。これは、2の補数表現と型宣言によるものです。私は、Javaで符号なしバイトを使用できる方法があるかどうかを知りたい。Javaに符号なしバイトの規定はありますか?
int x = 2;
byte y = -1;
System.out.println(x^y);
出力
-3
私は2つの優れた同様の質問hereとhereを発見しました。しかし、私は、後で2の補数表現なしでバイトに変換できるintを返すためのいくつかのメソッドまたはビット演算が必要です。
"y"の符号拡張はそれほど重要ではありません。結果の下位8ビットは依然としてあなたが望むものなので、もしあなたがバイトに変換するなら、それは正しいでしょう。 – harold