だから私はBluetooth経由でいくつかのものを送信しています。これには、バイト配列を使用しています.使用しているバイト配列の1つです。
private void sendIntensity(int I){
intensity[3] = (byte) i;
sendIntensity();
}
元のバイト配列は次のように構成されています。
private byte[] intensity = new byte[]{58,0,42,0,10,13}
私は編集テキストから強度を取得し、テキストを取得し、正規表現を使用して使用したい強度を見つけています。
int option = Integer.parseInt(text);
それをするために。基本的に、128 未満の数値は完全に機能します。配列に値を記録するため、これを見ることができます。127 に設定するとログに記録されます58, 0, 42, 127, 10, 13
が、128 以上にすると、ログに記録すると奇妙なデータ セットが得られます。
そこに入れる最大数は255です。
使用時に配列にあるものをログに記録すると、intensity[3] = (byte) 128;
戻ってきます50, 0, 42, -17, -66, -128, 10, 13
129を使用したときに何が起こるかをログに記録すると、戻ってきます50, 0, 42, -17, -66, -127, 10, 13
何が起こっている?なぜ私は本来50, 0, 42, 128, 10, 13
あるべき姿に戻れないのですか?