BCD 码转换工具

用法:BCD(Binary-Coded Decimal)用 4 位二进制表示 1 位十进制,PLC、拨码开关、老式仪表常用。输入十进制或 BCD 十六进制,自动互转并校验有效性。 全部在浏览器本地计算,不上传、不联网、不记录。

1 十进制 → BCD 码

输入十进制数后实时出 BCD 结果

2 BCD 码 → 十进制

输入 BCD 十六进制后实时出十进制结果

BCD 码 vs 二进制数值对照

十进制BCD 编码(16位)二进制数值(16位)说明
120x00120x000CBCD 直接写数字,二进制要换算
990x00990x00638位 BCD 最大值
12340x12340x04D2最容易混淆的例子
99990x99990x270F16位 BCD 最大值
—0x000A10含 A-F,不是有效 BCD

常见问题

PLC 里为什么要用 BCD 码?直接用二进制不行吗?

BCD 码用 4 位二进制表示 1 位十进制(0-9),优点是和十进制直接对应,不需要进制转换,适合显示和拨码开关输入。老式 PLC(如三菱 FX 早期型号、欧姆龙 C 系列)的定时器/计数器设定值常用 BCD 格式,数字拨码开关输出也是 BCD。现代 PLC 大多直接用二进制整数,但和老设备通讯时仍会遇到 BCD。

BCD 码和十六进制看起来一样,怎么区分?

BCD 码每个字节的高 4 位和低 4 位都只能是 0-9(即 0x00-0x99),不会出现 A-F。如果一个字节是 0x12,作为 BCD 表示十进制 12,作为十六进制表示十进制 18——数值完全不同。判断方法:看每位是否 ≤9,且设备手册是否标注 BCD 格式。

三菱 PLC 的 BCD 指令和 BIN 指令是做什么的?

BCD 指令把二进制整数转换成 BCD 格式(用于输出到数码管/拨码开关),BIN 指令把 BCD 格式转换成二进制整数(用于从拨码开关读入后做算术运算)。例如 D0=1234(二进制),执行 BCD D0 D1 后 D1=0x1234(BCD格式);反过来 BIN D1 D0 又变回 1234。注意 BCD 转换时如果数值含 A-F 会报错。

Modbus 读出来的数据是 BCD 还是二进制?

Modbus 协议本身只传输 16 位寄存器,不定义数据格式。是 BCD 还是二进制取决于从站设备的实现。大多数现代设备用二进制整数或 IEEE754 浮点,但某些老式仪表、电力监控设备、数控系统可能用 BCD。遇到数值明显不对(如 0x1234 读出来是 4660 而不是 1234),就要怀疑是 BCD 格式。

← 返回在线工具总览