您现在所在的是:

人机界面

回帖:9个,阅读:738 [上一页] [1] [下一页]
567
Treasure丶
文章数:74
年度积分:50
历史总积分:567
注册时间:2018/11/29
发站内信
发表于:2019/1/9 9:05:18
#0楼
我在触摸屏脚本设置的时候,想把两个十六进制的个位数放在一起编程一个两位数的数字,例:A和B 想编程AB 那么就用A*256+B可以得到。 问题是 如果是两个二进制的个位数呢,比如A=1、B=0,我想让数字显示成AB即10,该如果做到,或者是A=1、B=0、C=1、D=0,让ABCD=1010.感谢各位大佬的指点。
19254
pqsh 版主
文章数:7424
年度积分:1084
历史总积分:19254
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2019/1/9 9:16:30
#1楼
你的显示方式,是字符串还是数字?是十六进制还是十进制?
如果按数字,十进制,那就a*1000+b*100+c*10+d.你举例的是十六进制?
567
Treasure丶
文章数:74
年度积分:50
历史总积分:567
注册时间:2018/11/29
发站内信
发表于:2019/1/9 9:27:40
#2楼
回复 #1楼 pqsh
对 我举例的是16进制,我二进制的数需要显示出来的就是二进制1010,只不过我收到的1、0、1、0都是单独的数字,我现在需要把它们整合在一起
40345
tigermu 版主
文章数:14903
年度积分:1303
历史总积分:40345
注册时间:2004/8/12
发站内信
2018论坛优秀版主
2018春节活动(二)
2017论坛优秀版主
2017国庆活动(一)
2016论坛优秀版主
2016国庆活动(一)
2015论坛优秀版主
西门子logo体验(三)
英威腾PLC体验(三)
2015春节活动
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2019/1/9 10:10:40
#3楼
具体我没试过,你可以自己试试,把abcd变成字符用+变成一串,然后字符变成整型这类的变量。
567
Treasure丶
文章数:74
年度积分:50
历史总积分:567
注册时间:2018/11/29
发站内信
发表于:2019/1/9 10:34:44
#4楼
回复 #3楼 tigermu
好的 谢谢版主指点
7968
蜀中之首
文章数:5230
年度积分:50
历史总积分:7968
注册时间:2018/5/27
发站内信
发表于:2019/1/9 10:56:02
#5楼
我不清楚你是这样验算“A和B 想编程AB 那么就用A*256+B可以得到。”(16进制?)
按照你后边的说明,显然公式不成立,这256是十进制还是16进制?
比如25+25,按后边的说明应该得到2525,对吗?验算结果6425(10),或5693(16)
可以试试3楼版主的方法
或这样(没验证太多数据)
先判断,B是一位还是2位数据
将A,B转换成10进制
2位数据使用“A*256+B”,再转换成16进制
1位数据使用“A*16+B”,再转换成16进制
如果A2位,B1位,或B2位,A1位,你在总结。
实际上*256或*16类似移位,给B留出位置
567
Treasure丶
文章数:74
年度积分:50
历史总积分:567
注册时间:2018/11/29
发站内信
发表于:2019/1/9 11:29:21
#6楼
回复 #5楼 蜀中之首
我用数据来说明下吧,比如我现在接收到两个数据1和5 当我需要得到15的时候 我的编程是1*256+5=15(这个可以得到正确结果)
我的问题是,当我接收的新数据是二进制里的1和1时,我应该如何类比上述的运算得到11
37234
cvlsam 版主
文章数:12401
年度积分:1586
历史总积分:37234
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2019/1/9 11:41:16
#7楼
以下是引用Treasure丶2019/1/9 11:29:21的发言:
我用数据来说明下吧,比如我现在接收到两个数据1和5 当我需要得到15的时候 我的编程是1*256+5=15(这个可以得到正确结果)
我的问题是,当我接收的新数据是二进制里的1和1时,我应该如何类比上述的运算得到11

SIR,根据您的公式显示的是16进制数105啊,两位数难道不是1*16+5?

Good Luck~
2922
1143158441
文章数:276
年度积分:90
历史总积分:2922
注册时间:2017/8/17
发站内信
发表于:2019/1/9 11:47:33
#8楼
转化为字符串吧,再通过字符串分离与组合
此帖发自论坛手机版
成功的秘诀,在永不改变既定的目的。 —— 卢梭
7968
蜀中之首
文章数:5230
年度积分:50
历史总积分:7968
注册时间:2018/5/27
发站内信
发表于:2019/1/9 13:26:41
#9楼
首先你要确定你给的数字是16进制还是10进制或是二进制
搞混了就会出错,混搭计算同样会出错。

你现在要的就是A+B=AB新组合
只要判断B是几位数,再将A*n+B就是了
n=100(B是二位数)
n=10 (B是一位数)
一定要用同一进制,不要向你现在“1*256+5=15”即便=105也差着格式

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005