0

シリアル ポート経由でバイトを送信する Java プログラムを作成する必要があります。rxtx ライブラリを使用しています。問題は、Java ではすべてが署名されており、1 バイトで送信する必要があること0xfcですが、Java ではこれは署名されており、-4 として定義されています。では、1バイトで0から255まで送信できるように、Javaで符号なしバイトを作成するにはどうすればよいですか?

4

3 に答える 3

3

大丈夫です - 必要な場所にキャストするだけです。バイトを送信できる API があり、Java で -4 のバイトを送信すると、ビット パターンは符号なしバイト 0xfc と同じになります。

intまたはの値がshort0 ~ 255 の範囲にある場合は、それを にキャストするだけでbyte、元の値が 127 を超えると値が負になる場合でも、正しいビット パターンを表すことができます。

于 2013-06-26T18:23:16.360 に答える
0

bytebの場合b & 0xFF、符号なし整数値が返されます..それでよろしいでしょうか??

于 2013-06-26T18:24:45.143 に答える
0

これはうまくいきます

public static int unsignedToBytes(byte b) {
    return b & 0xFF;
}
于 2013-06-26T18:24:49.517 に答える