asd119586
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 156 点
下载积分: 592 分
在线时间: 29(小时)
注册时间: 2022-05-09
最后登录: 2024-12-09
查看asd119586的 主题 / 回贴
楼主  发表于: 2023-12-12 09:26
smart200 怎么读取无符号16位整数并进行运算呢?
我这里有一个走串口通讯的设备,是5个UINT16位,并且需要这其中加减乘除计算
但是smart200默认只能有符号整数,有没有什么办法可以转成无符号整数来运算吗?或者有没有有符号转无符号的库呢
流水不腐 户枢不蠹
marksman_01
一起进步
级别: 家园常客
精华主题: 0
发帖数量: 481 个
工控威望: 523 点
下载积分: 3285 分
在线时间: 134(小时)
注册时间: 2019-06-01
最后登录: 2024-12-18
查看marksman_01的 主题 / 回贴
1楼  发表于: 2023-12-22 17:25
你只要明白,无符号和有符号数的区别就是最高位,有符号数最高位是符号位,无符号数不能算数运算是因为没有符号位,所以你通讯的数据如果支持符号,那你直接转成有符号数,如果通讯的数据是无符号数,那代表此数不可能是负数,所以要处理成双字有符号整数在进行运算