问题描述
C中的格式为int32_t,它是32位2的补码。主要问题是用前导零格式化数字。
我发现此解决方案适用于正数:
binary = '{:032b}'.format(n)
bytes = [chr(int(binary[i*8:(i*8)+8],2)) for i in range(4)]
然后,我可以通过USB串行将这4个字节发送到运动控制器。但是,在这种情况下,负数存在很大的问题。我不确定是否有一种简单的方法可以将数字转换为32位2的补码,然后拆分字节以通过串行发送。 Python是一种高级语言,因此很遗憾,它不能很好地处理int32_t和二进制等基本数据类型。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)