У меня есть назначение, в котором у меня есть 16-разрядное число без знака (пример: 4092), которое я получаю из характеристики через BLE и хочу преобразовать его в десятичное число со знаком (например, +3 или -1 и т. Д.).
Я попытался преобразовать его в двоичный файл и снова в подписанный, как показано ниже.
final int sint = characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT16, 0);
String bint = Integer.toBinaryString(sint);
int i = Integer.parseInt(bint,2);
, но это возвращает только тот же номер.