| **Navigation:**  [[introduction.htm|Language Reference]] > 3 - Variable Declarations > Data Types >====== SREAL (four-byte signed floating point) ====== | [[unsigned 16 32 bit unsigned integer .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[real eight byte signed floating point .htm|{{btn_next_n.gif|Next page}}]] | | || | label **SREAL(**[//initial value//]**) **[,**DIM( )**] [,**OVER( )**] [,**NAME( )**] [,**EXTERNAL**] [,**DLL**] [,**STATIC**] || | | [,**THREAD**] [,**AUTO**] [,**PRIVATE**] [,**PROTECTED**] | {{blk2blue.jpg|blk2blue.jpg}} | **SREAL** | A four-byte floating point number. | **Format:  ±   exponent    significand** **       |   | ........  | ....................... |** **Bits: 31  30          23                         0** **Range: 0, ± 1.175494e-38 .. ± 3.402823e+38 (6 significant digits)** | //initial value// | A numeric constant. If omitted, the initial value is zero, unless the AUTO attribute is present. | | **DIM** | Dimension the variable as an array. | | **OVER** | Share a memory location with another variable. | | **NAME** | Specify an alternate, "external" name for the field. | | **EXTERNAL** | Specify the variable is defined, and its memory is allocated, in an external library. Not valid within FILE, QUEUE, or GROUP declarations. | | **DLL** | Specify the variable is defined in a .DLL. This is required in addition to the EXTERNAL attribute. | | **STATIC** | Specify the variable's memory is permanently allocated. | | **THREAD** | Specify memory for the variable is allocated once for each execution thread. Also implicitly adds the STATIC attribute on Procedure Local data. | | **AUTO** | Specify the variable has no //initial value//. | | **PRIVATE** | Specify the variable is not visible outside the module containing the CLASS methods. Valid only in a CLASS. | | **PROTECTED** | Specify the variable is not visible outside base CLASS and derived CLASS methods. Valid only in a CLASS. | **SREAL** declares a four-byte floating point signed numeric variable, using the Intel 8087 short real (single precision) format. **Example:** **Count1 SREAL                          !Declare four-byte signed floating point** **Count2 SREAL,OVER(Count1)             !Declare OVER the four-byte ** **                                      !signed floating point** **Count3 SREAL,DIM(4)                   !Declare it an array of 4 floats** **Count4 SREAL(5)                       !Declare with initial value** **Count5 SREAL,EXTERNAL                 !Declare as external** **Count6 SREAL,EXTERNAL,DLL             !Declare as external in a .DLL** **Count7 SREAL,NAME('SixCount')         !Declare with external name** **ExampleFile FILE,DRIVER('Btrieve')    !Declare a file** **Record       RECORD** **Count8        SREAL,NAME('Counter')   !Declare with external name** **             END** **            END**