登录
首页
人机界面
人机界面
回帖
发帖
正文
主题:求助关于二进制 十六进制运算的问题
点击:734 回复:9
楼主
编辑
引用
管理
Treasure丶
我在触摸屏脚本设置的时候,想把两个十六进制的个位数放在一起编程一个两位数的数字,例:A和B 想编程AB 那么就用A*256+B可以得到。 问题是 如果是两个二进制的个位数呢,比如A=1、B=0,我想让数字显示成AB即10,该如果做到,或者是A=1、B=0、C=1、D=0,让ABCD=1010.感谢各位大佬的指点。
19-01-09 09:05
1楼
编辑
引用
管理
pqsh
你的显示方式,是字符串还是数字?是十六进制还是十进制?
如果按数字,十进制,那就a*1000+b*100+c*10+d.你举例的是十六进制?
19-01-09 09:16
2楼
编辑
引用
管理
Treasure丶
对 我举例的是16进制,我二进制的数需要显示出来的就是二进制1010,只不过我收到的1、0、1、0都是单独的数字,我现在需要把它们整合在一起
19-01-09 09:27
3楼
编辑
引用
管理
tigermu
具体我没试过,你可以自己试试,把abcd变成字符用+变成一串,然后字符变成整型这类的变量。
19-01-09 10:10
4楼
编辑
引用
管理
Treasure丶
好的 谢谢版主指点
19-01-09 10:34
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留出位置
19-01-09 10:56
6楼
编辑
引用
管理
Treasure丶
我用数据来说明下吧,比如我现在接收到两个数据1和5 当我需要得到15的时候 我的编程是1*256+5=15(这个可以得到正确结果)
我的问题是,当我接收的新数据是二进制里的1和1时,我应该如何类比上述的运算得到11
19-01-09 11:29
7楼
编辑
引用
管理
cvlsam
引用
Treasure丶
在 2019/1/9 11:29:21 发言
【内容省略】
SIR,根据您的公式显示的是16进制数105啊,两位数难道不是1*16+5?
Good Luck~
19-01-09 11:41
8楼
编辑
引用
管理
1143158441
转化为字符串吧,再通过字符串分离与组合
19-01-09 11:47
9楼
编辑
引用
管理
蜀中之首
首先你要确定你给的数字是16进制还是10进制或是二进制
搞混了就会出错,混搭计算同样会出错。
你现在要的就是A+B=AB新组合
只要判断B是几位数,再将A*n+B就是了
n=100(B是二位数)
n=10 (B是一位数)
一定要用同一进制,不要向你现在“1*256+5=15”即便=105也差着格式
19-01-09 13:26
工控新闻
提前完成5千万人清洁用电目标 施耐德电气公布2024年Q3可持续成果
国家统计局:10月规模以上工业增加值同比增长5.3% 主要经济指标回升明显
西门子2024财年实现强劲收官
光伏新突破!爱旭N型ABC组件效率跃升,刷新全球量产纪录
Vishay推出适用于恶劣环境的紧凑型密封式SMD微调电阻器
皮尔磁:从1到N, 分享知识才会更有力量
台达与汉钟精机签署合作协议 共建产线-物流仓储协同项目
展会回顾 | 如“七”而至,西克进博会首秀圆满落幕!
更多新闻资讯