5 Categories & Use of Application Instructions
DVP-PLC Application Manual
5-13
()
M
BE
S
.121 ××−
−
, in which B = 127
Therefore, the range for the 32-bit floating point is ±2
-126
~
±2
+128
, i.e. ±1.1755 × 10
-38
~
±3.4028 × 10
+38
Example 1:
Representing "23" in 32-bit floating point
Step 1: Convert “23” into a binary value: 23.0 = 10111
Step 2: Normalize the binary value: 10111 = 1.0111 × 2
4
, in which 0111 is mantissa and 4 is exponent
Step 3: Obtain the exponent: ∵ E – B = 4 Æ E – 127 = 4 ∴ E = 131 = 10000011
2
Step 4: Combine the sign bit, exponent and mantissa into a floating point
0 10000011 01110000000000000000000
2
= 41B80000
16
Example 2:
Representing “-23.0” in 32-bit floating point
The steps required are the same as those in Example 1. The only difference is you have to alter the sign bit into “1”.
DVP-PLC uses registers of 2 continuous No. to combine into a 32-bit floating point. For example, we use registers
(D1, D0) for storing a binary floating point as below:
S E7 E6 E5 E1 E0 A22 A21 A20 A6 A5 A4 A3 A2 A1 A0
b0b1b2b3b4b5b6b20b21b22b23b24b28b29b30b31
2 22 222 22 2 222 222
7 6 5 1 0 -1 -2 -3 -17 -18 -19 -20 -21 -22 -23
D1(b15~b0) D0(b15~b0)
8 bits of exponent
23 bits of mantissa
Sign bit (0: positive 1: negative)
When b0~b31 is 0, the content is 0.
Hidden decimal point
Decimal Floating Point
Since the binary floating point are not very user-friendly, we can convert it into a decimal floating point for use.
Please be noted that the decimal point operation in DVP-PLC is still in binary floating point.
The decimal floating point is represented by 2 continuous registers. The register of smaller No. is for the constant
while the register of bigger No. is for the exponent.
Example:
Storing a decimal floating point in registers (D1, D0)
Decimal floating point = [constant D0] × 10
[exponent D1 ]
Constant D0 =
±1,000 ~ ±9,999
Exponent D1 = -41 ~ +35
The constant 100 does not exist in D0 due to 100 is represented as 1,000 × 10
-1
. The range of decimal floating point
is ±1175 × 10
-41
~ ±3402×10
+35
.