请教个算法 大家帮忙啊

2020-02-09 09:38发布

我串口接受到了数 比如00 00 1A 0A,实际上是上位机发给我的6666,我要把这个与我输入的数字比较 看输入的数字是不符合,
原来我的思路是 把这4个十六进制数 转换回去 得到6666 在与这个输入的比较,后来发现虽然实现了功能但由于我是通过转成10进制形式 搞了个LONG型运算。占资源,所以现在想换个思路 ,大家看看有没有好的其他方法啊,我又想了下 能不能把得到的这个十六进制 高低字节依次与输入的比较呢?不知道可行吗
谢谢大家了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhangxun0712
1楼-- · 2020-02-09 13:44
“转换回去” 为什么要转换呢?十六进制与十进制不能直接比较吗?
biansf2001
2楼-- · 2020-02-09 19:26
用BCD码
my2009
3楼-- · 2020-02-09 22:54
一个是上位机给出的 ASCII 码, 另一个数是什么格式?  将上位机的数转成相同的格式就行了, 如果上位机的数不超过65536,
直接转为无符合的 Int16 格式就可以了。
ql1007
4楼-- · 2020-02-10 03:14
 精彩回答 2  元偷偷看……
my2009
5楼-- · 2020-02-10 06:29
把键盘数也转换为 Int16 型,   a[]={"6,6,6,6" } 转  Int16 易, 以后比较也方便, Int16 转 a[]={"6,6,6,6" } 较难

一周热门 更多>