Вот есть код:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
byte[] bytes = new byte[]{1, -96, 0, 0, -56, 0, 40, 0, -56, 0, -56, 0, -56, 0, -56, 0, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 88, 2, 88, 2, 88, 2, 88, 2, 88, 2, 88, 2, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 0, 0, 0, 0, 0, 53, 33};
int FirstByteTmp, SecondByteTmp, ByteTmp;
float MassCurrentsPhases[] = new float[30];
for (int i = 0, j = 0; i < 30; i++, j += 2) {
FirstByteTmp = (0x000000FF & ((int) bytes[5 + j]));
SecondByteTmp = (0x000000FF & ((int) bytes[4 + j]));
ByteTmp = (char) (FirstByteTmp << 8 | SecondByteTmp);
MassCurrentsPhases[i] = (float) ByteTmp;
}
System.out.println(Arrays.toString(MassCurrentsPhases));
}
}
он возвращает мне такую вот строку:
[200.0, 40.0, 200.0, 200.0, 200.0, 200.0, 800.0, 800.0, 800.0, 800.0, 800.0, 800.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 60.0, 60.0, 60.0, 60.0, 60.0, 60.0, 30.0, 30.0, 30.0, 30.0, 30.0, 30.0]
То есть значение: -56, 0 = 200
Значение 40, 0, = 40
Значение 32, 3 = 800
Вопрос, как мне взять число и разложить его обратно, например число 800 превратить обратно в 32, 3