补码转原码的方法是正数是本身,负数是除符号位之外按位取反+1
我这边现在有个需求就是通过I2C读出来的8位数据是个补码(数据存在符号位),请问一下我应该怎么给转成源码
另外在lua里面负数应该怎么表示,比如负数转原码后数据是60,我是不是直接就写成-60就可以了?
我看wiki上面有个介绍按位取反的操作,print(bit.bnot(5))--按位取反,输出-6 我实测了确实输出的是-6,这块没太看明白是怎么来的
问题有点多,麻烦大佬们帮忙解答一下,非常感谢
wiki.openluat.com 的pack包,可以将数据按字节,16位,32位大小端转成你要的格式,包括有符号或者无符号。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!