asd119586
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 68 個
工控威望: 156 點
下載積分: 592 分
在線時間: 29(小時)
注冊時間: 2022-05-09
最后登錄: 2024-07-09
查看asd119586的 主題 / 回貼
樓主  發(fā)表于: 2023-12-12 09:26
smart200 怎么讀取無符號16位整數(shù)并進行運算呢?
我這里有一個走串口通訊的設備,是5個UINT16位,并且需要這其中加減乘除計算
但是smart200默認只能有符號整數(shù),有沒有什么辦法可以轉成無符號整數(shù)來運算嗎?或者有沒有有符號轉無符號的庫呢
流水不腐 戶樞不蠹
18857713026
賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 388 個
工控威望: 482 點
下載積分: 1171 分
在線時間: 186(小時)
注冊時間: 2020-11-27
最后登錄: 2024-11-09
查看18857713026的 主題 / 回貼
1樓  發(fā)表于: 2023-12-12 15:07
WORD  無符號16位
int          有符號16位。
485對象 默認就是word   如果不是 INT_TO_WORD
asd119586
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 68 個
工控威望: 156 點
下載積分: 592 分
在線時間: 29(小時)
注冊時間: 2022-05-09
最后登錄: 2024-07-09
查看asd119586的 主題 / 回貼
2樓  發(fā)表于: 2023-12-13 15:28
引用
引用第1樓18857713026于2023-12-12 15:07發(fā)表的  :
WORD  無符號16位
int          有符號16位。
485對象 默認就是word   如果不是 INT_TO_WORD

smart200里默認就是int數(shù)據(jù)格式,讀取無符號出來就是有符號的 好像可以通過算法來使讀取到的有符號轉為無符號,但是不知道怎么解決
流水不腐 戶樞不蠹
bdmogui
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 175 個
工控威望: 297 點
下載積分: 1217 分
在線時間: 596(小時)
注冊時間: 2013-10-12
最后登錄: 2024-11-05
查看bdmogui的 主題 / 回貼
3樓  發(fā)表于: 2023-12-13 15:50
大佬們應該都很忙。這應該用不到什么算法,變通一下,將無符號數(shù)放到雙整數(shù)的低字,高字賦0,然后讀取雙整數(shù)
本帖最近評分記錄:
  • 下載積分:+3(asd119586)
    wsxebjz
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 322 個
    工控威望: 379 點
    下載積分: 1949 分
    在線時間: 80(小時)
    注冊時間: 2023-05-14
    最后登錄: 2024-10-25
    查看wsxebjz的 主題 / 回貼
    4樓  發(fā)表于: 2023-12-13 17:40
    用十六進制表示可以在一個vw中存入超過32500的數(shù),比如50000
    18857713026
    賺點辛苦錢不容易啊 誒~~~~ 努力賺錢
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 388 個
    工控威望: 482 點
    下載積分: 1171 分
    在線時間: 186(小時)
    注冊時間: 2020-11-27
    最后登錄: 2024-11-09
    查看18857713026的 主題 / 回貼
    5樓  發(fā)表于: 2023-12-16 11:07
    引用
    引用第2樓asd119586于2023-12-13 15:28發(fā)表的  :

    smart200里默認就是int數(shù)據(jù)格式,讀取無符號出來就是有符號的 好像可以通過算法來使讀取到的有符號轉為無符號,但是不知道怎么解決



    要什么算法。。。 不是系統(tǒng)提供了  INT_TO_WORD  WORD_TO_INT  ????
    asd119586
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 68 個
    工控威望: 156 點
    下載積分: 592 分
    在線時間: 29(小時)
    注冊時間: 2022-05-09
    最后登錄: 2024-07-09
    查看asd119586的 主題 / 回貼
    6樓  發(fā)表于: 2023-12-16 14:27
    引用
    引用第5樓18857713026于2023-12-16 11:07發(fā)表的  :



    要什么算法。。。 不是系統(tǒng)提供了  INT_TO_WORD  WORD_TO_INT  ????

    因為運算只能用INT格式運算,運算的過程還是有符號的
    流水不腐 戶樞不蠹
    marksman_01
    一起進步
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 474 個
    工控威望: 516 點
    下載積分: 3271 分
    在線時間: 131(小時)
    注冊時間: 2019-06-01
    最后登錄: 2024-11-09
    查看marksman_01的 主題 / 回貼
    7樓  發(fā)表于: 2023-12-22 17:25
    你只要明白,無符號和有符號數(shù)的區(qū)別就是最高位,有符號數(shù)最高位是符號位,無符號數(shù)不能算數(shù)運算是因為沒有符號位,所以你通訊的數(shù)據(jù)如果支持符號,那你直接轉成有符號數(shù),如果通訊的數(shù)據(jù)是無符號數(shù),那代表此數(shù)不可能是負數(shù),所以要處理成雙字有符號整數(shù)在進行運算