BCD码(Binary-Coded Decimal)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数。
BCD码各位的数值范围为2#0000~2#1001,对应于十进制数0~9。
BCD码不能使用十六进制的A~F(2#1010~2#1111)这6个数字。
BCD码本质上是十进制数,因此相邻两位逢十进一。
BCD码的最高位二进制数是符号位,负数的符号位为1,正数为0。
16位BCD码的范围为–999~+999。
下图的拨码开关将显示的数字转换为4位二进制数。
PLC用12个数字量输入点读取的是3位BCD码,它的值为2#1000 0010 1001,即十六进制数16#829。
BCD码没有单独的表示方法,而是借用了十六进制的表示方法,因此二者很容易混淆。
下图是S7-300/400的BCD码和整数的相互转换指令,可以看到在指令中BCD码均用十六进制的形式表示。
在程序中,怎么知道一个数字是BCD码还是十六进制数呢?1)看数据的