asd119586
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 156 点
下载积分: 644 分
在线时间: 28(小时)
注册时间: 2022-05-09
最后登录: 2024-03-27
查看asd119586的 主题 / 回贴
楼主  发表于: 2023-12-12 09:28

我这里有一个走串口通讯的设备,是5个UINT16位,并且需要这其中加减乘除计算
但是smart200默认只能有符号整数,有没有什么办法可以转成无符号整数来运算吗?或者有没有有符号转无符号的库呢
流水不腐 户枢不蠹
asd119586
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 156 点
下载积分: 644 分
在线时间: 28(小时)
注册时间: 2022-05-09
最后登录: 2024-03-27
查看asd119586的 主题 / 回贴
1楼  发表于: 2023-12-13 15:29
大佬们有会的吗  
流水不腐 户枢不蠹
hstec2002
级别: 论坛先锋
精华主题: 0
发帖数量: 368 个
工控威望: 1419 点
下载积分: 5095 分
在线时间: 567(小时)
注册时间: 2021-05-05
最后登录: 2024-05-04
查看hstec2002的 主题 / 回贴
2楼  发表于: 2023-12-15 07:47
据我所知目前没有无符号16位整数加减乘除运算,但可以换个思路变相达到加减乘除运算目的。
QQ: 2845452345
zhaoaron
zhaoaron
级别: 工控侠客
精华主题: 0
发帖数量: 965 个
工控威望: 2555 点
下载积分: 13801 分
在线时间: 422(小时)
注册时间: 2021-09-25
最后登录: 2024-05-03
查看zhaoaron的 主题 / 回贴
3楼  发表于: 2023-12-15 08:41
图片:
WORD  就是无符号整数
redrock99
级别: 家园常客
精华主题: 0
发帖数量: 314 个
工控威望: 548 点
下载积分: 3711 分
在线时间: 163(小时)
注册时间: 2009-02-04
最后登录: 2024-04-28
查看redrock99的 主题 / 回贴
4楼  发表于: 2023-12-15 08:55
引用
引用第3楼zhaoaron于2023-12-15 08:41发表的  :
WORD  就是无符号整数

WORD不是加减乘除的指令数,指令数是 B,I,DI,

所以楼主要把UINT的WORD转化为DI,然后使用DI指令进行运算
本帖最近评分记录:
  • 下载积分:+3(asd119586)
  • 下载积分:+5(zhaoaron) 热心助人!
    tkggtdkjpl
    工欲善其事,必先利其器!
    级别: 网络英雄

    精华主题: 1 篇
    发帖数量: 3413 个
    工控威望: 20949 点
    下载积分: 20798 分
    在线时间: 1702(小时)
    注册时间: 2010-01-03
    最后登录: 2024-05-03
    查看tkggtdkjpl的 主题 / 回贴
    5楼  发表于: 2023-12-22 19:57
    前几天一个项目,也有人问这个问题,现场给他写了段程序
    16位数转32位数
    32位数加+65535就是原来的值,范围自已判定一下
    自动化单机,生产线,项目编程调试!