整型和bcd的对应关系_BCD码与整数之间的转换

本文介绍了BCD码(二进制编码的十进制数)的概念,它是以四位二进制表示一位十进制数的编码方式。在西门子S7-200系列PLC中,BCD码用于读取时钟日期数据。文章详细解释了BCD码转整数和整数转BCD码的转换指令,并通过实例展示了如何将十进制数298转换为BCD码。此外,建议读者进一步学习数制转换的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、BCD码的概念

BCD码 意为 “二进制编码的十进制数”。BCD码是一种编码方式,是以二进制数对十进制数字的编码,每四位二进制码表示一位十进制数,并因为16进制的优势,改用十六进制数字表示。

十进制只有十个数字 0-9,所以以 16 进制表示的BCD码不会出现16进制数字AH - FH。

比如十进制数39用 BCD 码表示就是39H,或16#39。BCD码数值必须用16进制查看才能得到正确结果。

BCD编码往往在使用BCD编码开关输入数据时用到;S7-200中读出的时钟日期数据也是以BCD编码表示。

2、你附图中的两个转换指令

BCD码转整数指令( BCDI)将一个 BCD 码 IN 的值转换成整数值,并且将结果存入 OUT 指定的变量中。 IN 的有效范围是 0 到 9999 的 BCD 码。

那前面那条指令就是将 VW2000 中存储的BCD码,转换成十进制的整数存放到 VW2002 中。

整数转 BCD 码指令( IBCD)将输入的整数值 IN 转换成 BCD码,并且将结果存入 OUT 指定的变量中。 IN 的有效范围是 0 到 9999 的整数。

后面那条指令就是将十进制整数 298 转换成 BCD 码存储在 VW2004 中。

3、就解释你的第二条指令,十进制数 298 转换成 BCD 码是怎么转换的

千位:0 对应的四位二进制码是 0000

百位:2 对应的四位二进制码是 0010

十位:9 对应的四位二进制码是 1001

个位:8 对应的四位二进制码是 1000

由高位到低位就是 0000 0010 1001 1000 对应十六进制就是 16#0298H

对应的十进制就是 664。

4、网上再找一些数制方面的内容学习一下吧

5、官方视频可参考《转换指令》

http://www.ad.siemens.com.cn/productportal/prods/s7-200-portal/micropower2013/general/online_resource/Bool%20instruction%20etc.html

回答者:

大宝朱林森

-

高级顾问&nbsp&nbsp第14级

2020-01-15 00:39:22

以下网友赞了您的问题:

ISIEMENSID,黑猫警长W,大杰,远行的虎,如是,leo&joy,月光狠氼,zhd216,onlyformagnum,vinams,liujian1121,幸福家庭,alexma1975,sunkey1,WYB-wyb,visor,木卫6号,falan,miller2002,sunny_jay,youly,叶林敏,七彩云,千年走一回,三家巷,飄飄然,黑旋风520

填写您的评论...

提问者对于答案的评价:

666,  谢谢

已有1人评论

@风向标:

看到大宝的最佳答案写的真详细,点赞,但我有一个问题想问下:就3,十进制298对应十六进制0298H,后面怎么说对应的十进制是664,求解答。

2020/01/16 13:38:27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值