西门子数据类型怎么定义(西门子的基本数据类型该如何理解)
西门子数据类型怎么定义(西门子的基本数据类型该如何理解)下面我们来详细了解一下,无符号整数和有符号整数的区别。通过上述将基于长度而定义的类型,和其他类型的关系图,我们很清楚的了解到他们之间的关系。借鉴一个电影里的故事来给大家举例,也希望这篇文章对大家日常编程有所帮助在于灵活、正确的使用对应的数据类型。从而减少因数据类型而导致程序错误。OK 那么一个班可能是炊事班,也可能是工程班,一个连可能是神枪手四连,也可能是夜老虎侦察连,或者其他的,那么不同的连它代表的功能就不一样,就好比一个是DINT一个是REAL。所以才会讲除去基于长度的几种类型剩余的数据类型都是基于功能或者是定义来描述数据类型的。也是正如此,在基于长度而定义的数据类型是没有办法进行比较的。Word数据类型不能比较大小还是转移到刚才那个例子,一个是侦察连,一个是神枪手四连,他们两个连进行PK,因为双的功能以及侧重点不同,所以比较就没有太大意义,或者出现你有我没有,我有的对方没有。所以只有
市面上很多教程、手册、资料都清楚的解释了,西门子S7-1500的基本数据类型有几种;
看起来还是比较多的数据类型。那么接下来我试着用自己的理解去解释一下,数据类型之间的关系,也希望大家可以通过我的介绍,建立起自己对数据类型的认识。
首先Bool、Byte、Word、Dword、Lword这几种数据类型是基于数据的长度来描述数据的。除此之外其他数据类型比如:Int、Sint、Lint、Real、Lreal 等等这是基于功能或者定义来描述数据类型。举个例子:
Byte代表一个班(8人组)、Word代表一个排(16人组)、Dword代表一个连(32人组)……
OK 那么一个班可能是炊事班,也可能是工程班,一个连可能是神枪手四连,也可能是夜老虎侦察连,或者其他的,那么不同的连它代表的功能就不一样,就好比一个是DINT一个是REAL。所以才会讲除去基于长度的几种类型剩余的数据类型都是基于功能或者是定义来描述数据类型的。也是正如此,在基于长度而定义的数据类型是没有办法进行比较的。
Word数据类型不能比较大小
还是转移到刚才那个例子,一个是侦察连,一个是神枪手四连,他们两个连进行PK,因为双的功能以及侧重点不同,所以比较就没有太大意义,或者出现你有我没有,我有的对方没有。所以只有侦察1连和侦查2连比较、神枪手一连和神枪手四连进行比较才会有高低大小之分。
通过上述将基于长度而定义的类型,和其他类型的关系图,我们很清楚的了解到他们之间的关系。借鉴一个电影里的故事来给大家举例,也希望这篇文章对大家日常编程有所帮助在于灵活、正确的使用对应的数据类型。从而减少因数据类型而导致程序错误。
下面我们来详细了解一下,无符号整数和有符号整数的区别。
MW100等于MW120
MW100是无符号整数UINT、MW120是整数类型INT。当两个变量的数值都小于等于32767时双方可以互相等于。
当MW100等于32768时,也就是MW100的第15位为1时(M100.7=true)
MW120:-32768。
当MW100等于65535时,MW120:-1。
所以两个变量的对应关系为
MW100(UINT)=0--32767、32768--65535.
MW120(INT)=0--32767、-32768到-1.
通过上述实例:我们可以得出结论。
1、两者类型在小于等于32767时双方可以互换使用,
2、INT对应的数值是先是0到32767,然后-32768到-1.
3、Word类型的最后一位,是符号位,0表示为正数、1表示为负数。
同时对于Dword、Lword也是同样适用。