西门子300PLC中,十六进制数存储,是不是BCD码行式,一个十六进制的1是不是占四位

如题所述

实际上存储的基本形式都是相同的,最基本的单元就是一位,也就是2进制的一位,0或1。多个位组合在一起就构成多位二进制。任何数字的存储都是以此为基础的。 所谓的二进制,八进制,十进制,十六进制只是为了表达的外在形式,实际的存储是相同的,如十进制的10,十六进制为A,八进制为12,二进制为1010,它们在实际的存储中就是四个位1010,由于一位十六进制由四位二进制完全表达,0-F对应0000-1111,因此一位十六进制最多占用四位二进制,这不是一个规定,而是一个事实。八进制同理。在PLC中16#1=2#0001表示的是一个存储的概念,十六进制的第一位存储在存储空间的低四位。所以1不用1表示,而用0001表示。 至于BCD码是一个特殊的规定,就是用四位二进制表示一位0-9的十进制,如#99=2#1001 1001,明显的这不是一个相等的转换,而是一个特殊规定的转换。所以十六进制和BCD码不是一个概念。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-30
无论何种进制的数值,plc里都自动转换为二进制数进行运算。BCD码不是十六进制数。而是用二进制数来表示十进制数,是与十六进制不同的数制。
十六进制的1用二进制表示就是0001,占四个位。
第2个回答  2013-07-30
没用过300,不过我认为。
任何数在plc里的存储都是二进制的,也就是只有1和0.
具体1占几位?实际只占1位。你说的位,按照我理解是你访问这个存储器地址时的数据类型,根据不同的数据类型占的位不同。看看相关数据类型的说明吧。
第3个回答  2013-07-30
16进制与BCD码在存储上是一样的,每一个数字占据二进制4位。
相似回答