发布于 2010-08-01 16:40:10
1楼
首先我们区分两个概念,数据类型,数据块的存储结构。
基本数据类型包括:(1)位类数据类型(BOOL、BYTE、WORD、DWORD);(2)字符数据类型(CHAR);(3)数字类数据类型(INT、DINT、REAL);(4)时间类数据类型(TIME、DATE、TIME_OF_DAY、S5TIME)。
DB数据块的存储结构:32 BOOL(1bit)=》4 BYTE(8bits)=》2 WORD(16bits)=》1 DWORD(32bits)。
位类数据类型只能用做布尔表达式,不能用作比较、数学运算等。数字类数据类型用于处理数值(计算算术表达式)。
好了,回答您的问题。
(1)DB10.DBW0、DB10.DBW2 是字,属于位类数据类型,不能用于比较大小。所以如果要进行比较,[方案一]转换为数字类数据型再进行比较。如使用WORD_TO_INT数据类型转换函数,将两个位类数据转换为INT数字类数据类型,再进行比较。[方案二]使用变量进行比较,即在DB10中定义变量M和N,DB10.DBW0(DB10.M,INT),DB10.DBW2(DB10.N,INT),这样的话,就可以比较DB10.M和DB10.N的大小了。
(2)DB10.DBW0 本身是字类型,属于位类数据类型,DB10.DBW0中的数据可以定义为INT类型,具体使用方法与回答(1)类似。
(3)如果你要输入负数,最好在DB10中定义为数字类数据类型,即INT类型。
(4)具体使用方法还需要您慢慢体会,记得区分上述两个概念,您就知道该怎么使用DB块中定义的数据了。
物竞天择,适者生存!