PLC数据问题
时间:2023-03-16来源:佚名
一个字=16个位,对应1 2 4 8 16 32 64 128等,那么-1 -2 -4 -8这些对应的什么呢 ,是什么意思?
答:不可按“对应1 2 4 8 16 32 64 128等”一概而论,楼主所言的只是对不带符号的WORD数据类型。至于负数更不能套用了。 1、一个字为16个位,但一个字可以表示不同的数据类型。 WORD数据类型(不带符号,0~65535)与INT数据类型(带符号,-32767~32768): 通常情况下WORD用于逻辑运算,INT用于数学运算; 在使用梯形图或SCL等语言编程时区分较严格。 在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)。 2、有关负数: 负数转换为二进制,就是将其相反数(正数)的补码的每一位变反(1变0,0变1)最后将变完了的数值加1,就完成了负数的补码运算。这样就变成了二进制。 举个例子: 将-1变成二进制。 ①首先确定二进制的位数,假定为16位,即可以表示-32768到32767的所有十进制整数。 ②将-1的相反数,也就是1表示为二进制0000 0000 0000 0001(十六进制表示为0x0001) (由于四位二进制可以表示为一位十六进制,故一般将二进制按四位进行分段表示) ③将这个二进制变反,可以得到1111 1111 1111 1110(十六进制HEX表示为0xFFFE) ④将变反后的数值加上1,得到-1的二进制表示1111 1111 1111 1111(十六进制表示0xFFFF) |