我有一个分配,其中有一个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);
但是只会返回相同的数字。