在 Python 3 中,我使用 PySerial 读取两个字节,我想获得这两个字节中 11 个最高有效位的十进制表示形式。
这是我从串行通信中获得的两个字节的打印作为示例:
b'\x1e@'
这两个字节具有以下二进制表示形式:
00011110 01000000
我想保留 11 个最高有效位,此处显示没有前导零:
11110010
并将结果转换为十进制值,或者242
在本例中。谁能帮我在 Python 3 中执行此转换?感谢您的帮助。
在 Python 3 中,我使用 PySerial 读取两个字节,我想获得这两个字节中 11 个最高有效位的十进制表示形式。
这是我从串行通信中获得的两个字节的打印作为示例:
b'\x1e@'
这两个字节具有以下二进制表示形式:
00011110 01000000
我想保留 11 个最高有效位,此处显示没有前导零:
11110010
并将结果转换为十进制值,或者242
在本例中。谁能帮我在 Python 3 中执行此转换?感谢您的帮助。
将数据转换为整数并移动五位:
输出:
参考:
int.from_bytes()