主动解析下如何提取负数
负数在计算机中存储和传输的是补码,我们只需要通过补码求得原码即可,以下是不同数据长度的负数计算原码的方法
首先应确保数据过来的是小端模式
signed int8
一个signed int8的数据,如果发-1过来,它发送的值其实是255
要判断这个值是不是负数,只要判断这个值是不是大于127即可
如果这个数大于127,就用这个数减去256,就可以得到正确的负数
signed int16
一个signed int16的数据,如果发-1过来,它发送的值其实是65535
要判断这个值是不是负数,只要判断这个值是不是大于32767即可
如果这个数大于32767,就用这个数减去65536,就可以得到正确的负数
signed int32
sint32格式是最简单的,直接用ucopy指令即可
ucopy n0.val,0,4,0