我使用python作为微控制器上的主要脚本语言。微控制器从I2C总线读取两个8位十六进制数字;例如:在Python中使用二进制补码
out_L = C2
out_H = F2
这两个都是在Python中作为字符串接收的。 F2C2表示二进制补码。我需要数字的十进制值。
我可以十六进制字符串转换为二进制字符串
bin_out = "0b" + (bin(int(hex_out, 16))[2:]).zfill(8)
现在我必须将二进制值转换为十进制值,它是我在哪里卡住了。我首先必须做两个补码转换,然后转换为十进制。因为二进制值仍然是一个字符串,我不能对它进行正常的二进制操作,也不能将它转换为十进制。请协助。我所有的努力,正确地将二进制字符串更改为二进制值给我提供了不正确的值。
谢谢,它完美的作品! –