8: A
DVANCED
I
NSTRUCTIONS
R
EFERENCE
FC5A M
ICRO
S
MART
U
SER
’
S
M
ANUAL
FC9Y-B1268
8-9
Floating-Point Data Format
The FC5A MicroSmart can specify the floating-point data type (F) for advanced instructions. Like the double word (D) and
long integer (L) data types, the floating-point data type also uses two consecutive data registers to execute advanced
instructions. The FC5A MicroSmart supports the floating-point data based on the single storage format of the IEEE (The
Institute of Electrical and Electronics Engineers) Standard 754.
Single Storage Format
The IEEE single format consists of three fields: a 23-bit fraction, f; an 8-bit biased exponent, e; and 1-bit sign, s. These
fields are stored contiguously in one 32-bit word, as shown in the figure below. Bits 0:22 contain the 23-bit fraction, f,
with bit 0 being the least significant bit of the fraction and bit 22 being the most significant; bits 23:30 contain the 8-bit
biased exponent, e, with bit 23 being the least significant bit of the biased exponent and bit 30 being the most significant;
and the highest-order bit 31 contains the sign bit, s.
s
e[30:23]
f[22:0]
31 30
23 22
0
Single Storage Format
23-bit fraction
8-bit biased exponent
Sign bit (0: positive, 1: negative)
The table below shows the correspondence between the values of the three constituent fields s, e, and f and the value
represented by the single format bit pattern. When any value out of the bit pattern is entered to the advanced instruction
or when execution of advanced instructions, such as division by zero, has produced any value out of the bit pattern, a
user program execution error will result, turning on special internal relay M8004 and the ERR LED on the CPU module.
Single Format Bit Patters
Value
0 < e < 255
(–1)
s
2
e–127
1.f (normal numbers)
e = 0; f = 0 (all bits in f are zero)
(–1)
s
2
e–127
0.0 (signed zero)
Carry and Borrow in Floating-Point Data Processing
When advanced instructions involving floating-point data are executed, special internal relay M8003 (carry and borrow)
is updated.
M8003
Execution Result
Value
1
0
Overflow (out of the range between –3.402823
10
38
and 3.402823
10
38
)
1
0
Not zero (within the range between –1.175495
10
–38
and 1.175495
10
–38
)
0
0
Zero
0
–1.175495
10
–38
M8003
1
1
1.175495
10
–38
0
–3.402823
10
38
0
Execution Result
1
Overflow
0
1
3.402823
10
38
Overflow
Not Zero
Phone: 800.894.0412 - Fax: 888.723.4773 - Web: www.clrwtr.com - Email: [email protected]