首页 历史故事基本数据类型详解

基本数据类型详解

【摘要】:基本数据类型如表3-4所示。32位浮点数又称实数,浮点数表示的基本格式为1.m×2e,例如123.4可表示为1.234×102。图3-12所示为浮点数的格式,可以看出,浮点数共占用一个双字(32位),其最高位为浮点数的符号位,最高位为0时是正数,为1时是负数。浮点数的表示范围为-3.402823×1038~-1.175495×10-38,1.175495×10-38~3.402823×1038。Time数据类型以表示毫秒时间的有符号双精度整数形式存储。

基本数据类型如表3-4所示。

表3-4 S7-1200PLC的基本数据类型

978-7-111-34922-8-Chapter03-16.jpg

(续)

978-7-111-34922-8-Chapter03-17.jpg

注意,尽管BCD数字格式不能用做数据类型,但它们受转换指令支持,故将其列入此处。

由表3-4可以看出,字节、字和双字数据类型都是无符号数,其取值范围分别为:B#16#00~FF,W#16#0000~FFFF和DW#16#0000_0000~FFFF_FFFF。字节、字和双字数据类型中的特殊形式是BCD数据以及以ASCII码形式表示一个字符的CHAR类型。

8位、16位和32位整数(SInt、Int、DInt)是有符号数,整数的最高位为符号位,最高位为0时为正数,为1时为负数。整数用补码来表示,正数的补码就是它的本身,将一个正数对应的二进制数的各位求反码后加1,可以得到绝对值与它相同的负数的补码。

8位、16位和32位无符号整数(USInt、UInt、UDInt)只取正值,使用时要根据情况选用正确的数据类型。

32位浮点数又称实数(Real),浮点数表示的基本格式为1.m×2e,例如123.4可表示为1.234×102。图3-12所示为浮点数的格式,可以看出,浮点数共占用一个双字(32位),其最高位(第31位)为浮点数的符号位,最高位为0时是正数,为1时是负数。8位指数占用第23~30位。因为规定尾数的整数部分总是为1,只保留了尾数的小数部分m(第0~22位)。标准浮点数格式为:

978-7-111-34922-8-Chapter03-18.jpg

978-7-111-34922-8-Chapter03-19.jpg

图3-12 浮点数的格式

其中S=符号位(0对应于+,1对应于-);f=23位尾数,最高有效位MSB=2-1及最低有效位LSB=2-23,e=二进制整数形式的指数(0<e<255)。

浮点数的表示范围为-3.402823×1038~-1.175495×10-38,1.175495×10-38~3.402823×1038

长实数(LReal)为64位数据,比32位实数有更大的取值范围。

浮点数的优点是用很小的存储空间(4 B)可以表示非常大和非常小的数。PLC输入和输出的数值大多是整数(例如模拟量输入值和模拟量输出值),用浮点数来处理这些数据需要进行整数和浮点数之间的相互转换,需要注意的是,浮点数的运算速度比整数运算的慢得多。

时间型数据为32位数据,其格式为T#多少天(day)多少小时(hour)多少分钟(mi-nute)多少秒(second)多少毫秒。Time数据类型以表示毫秒时间的有符号双精度整数形式存储。