Vin*_*ann 3 byte integer type-conversion dart flutter
我正在构建一个应用程序来通过蓝牙从分光光度计读取数据。测量值作为两个字节发送,旨在转换为一个无符号的 16 位整数。感谢我用于蓝牙通信的库,这两个字节被转换为两个 Uint8List。
我环顾四周,但没有找到任何解决方案。我怎么会在这里?
我不在乎它是否漂亮。哎呀,如果你能提供一个使用黑魔法的解决方案,我会使用它。它唯一要做的就是完成它的工作,即使它很慢。我只需要取出三个 Uint16,可接受的时间跨度约为 1 秒,因此即使是最低效的解决方案也可以在这里完成。
您可以简单地使用二进制移位,这应该是非常有效的:
(list[0] << 8) + list[1]
Run Code Online (Sandbox Code Playgroud)
演示:
var list = new Uint8List(2);
list[0] = 1;
list[1] = 1;
print((list[0] << 8) + list[1]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |