1.4.3 数学数据类型

数学数据类型主要有整数类型和实数类型(浮点数类型)。

1.整数类型

整数类型又分为有符号整数类型和无符号整数类型。有符号整数类型包括短整数型(SInt)、整数型(Int)、双整数型(DInt)和长整数型(LInt);无符号整数类型包括无符号短整数型(USInt)、无符号整数型(UInt)、无符号双整数型(UDInt)和无符号长整数型(ULInt)。

短整数型、整数型、双整数型和长整数型数据为有符号整数,分别为8位、16位、32位和64位,在存储器中用二进制补码表示,最高位为符号位(0表示正数、1表示负数),其余各位为数值位。而无符号短整数型、无符号整数型、无符号双整数型和无符号长整数型数据均为无符号整数,每一位均为有效数值。

图1-51所示为Int正整数类型的表达方法,其值为+34。图1-52所示为Int负整数类型的表达方法,其值为-34。

图1-51 Int正整数类型的表达方法

图1-52 Int负整数类型的表达方法

2.实数类型

实数类型具体包括实数型(Real)和长实数型(LReal),均为有符号的浮点数,分别占用32位和64位,最高位为符号位(0表示正数、1表示负数),接下来的8位(或11位)为指数位,剩余位为尾数位,共同构成实数数值。实数的特点是利用有限的32位或64位可以表示一个很大的数,也可以表示一个很小的数。

一个Real类型的数占用4个字节的空间。S7系列PLC中的Real数据类型符合IEEE754标准的浮点数标准,包括符号位S、指数e和尾数m,分别占用的位数如图1-53所示。指数e和尾数m的权值见表1-6。

图1-53 Real数据类型表达方法

表1-6 指数e和尾数m的权值