[解決済み】Javaでunsigned byteを作ることはできますか?
2022-04-14 11:41:26
質問
符号付きバイトを符号なしに変換しようとしています。問題は、私が受け取っているデータが符号なしであり、Javaが符号なしバイトをサポートしていないため、データを読み取るときに符号付きとして扱われることです。
Stack Overflowから得た以下の解決策で変換を試みました。
public static int unsignedToBytes(byte a)
{
int b = a & 0xFF;
return b;
}
しかし、再びbyteで変換すると、同じ符号付きのデータが得られます。私はこのデータを、バイトしかパラメータとして受け入れないJavaの関数のパラメータとして使おうとしているので、他のデータ型は使えません。どうしたらこの問題を解決できますか?
解決方法を教えてください。
ご質問の意味がよくわからないのですが。
今試してみたところ、バイト-12(符号付き値)に対して、整数244(符号なしバイト値と同等だが、タイプは
int
):
public static int unsignedToBytes(byte b) {
return b & 0xFF;
}
public static void main(String[] args) {
System.out.println(unsignedToBytes((byte) -12));
}
やりたいことなのか?
Javaでは、244を表すのに
byte
を超える正の整数を表現するには、C言語と同じように
Byte.MAX_VALUE
(127) のように、別の積分型を使用する必要があります。
short
,
int
または
long
.
関連
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] 警告: コンテキスト初期化中に例外が発生 - 更新の試みはキャンセルされました。
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6