提问人:NIXIE_123 提问时间:1/12/2023 最后编辑:NIXIE_123 更新时间:1/27/2023 访问量:129
Kotlin Android Studio 如何将两个 uint8 合并为一个 uint16
Kotlin Android Studio how to merge two uint8 to one uint16
问:
我正在读取蓝牙 gatt 特性的数据。第一个数据是一个字节,我通过代码成功读取了它:
val strValue = characteristic.value[0].toUByte()
characteristic.value[1] 包含 UInt16 的最高有效字节
characteristic.value[2] 包含 UInt16 的最低有效字节
我想做的是获取uint16并将其放入strValue中。
我尝试使用shl函数,但它给我带来了这个错误:IMAGE1
我也试过这个:IMAGE2
如何在 Kotlin 中正确执行此操作?我擅长 C,但 Kotlin 对我来说是新的。
答:
0赞
NIXIE_123
1/27/2023
#1
溶液:
val strValue :UShort = (characteristic.getIntValue(FORMAT_UINT16,1) or characteristic.getIntValue(FORMAT_UINT16,2).shl(8)).toUShort()
评论
toInt()
shl
or
UShort
val strValue = (characteristic.value[1].toInt().shl(8) or characteristic.value[2].toInt()).toUShort()