Echelon LonTal Stack User Manual

Page 111

Advertising
background image

LonTalk Stack Developer’s Guide

99

7

10

*

1

±

approximate relative resolution

The float_type structure declaration represents a floating-point number in IEEE

754 single-precision format. This format has one sign bit, eight exponent bits,

and 23 mantissa bits; the data is stored in big-endian order. The float_type type
is identical to the type used to represent floating-point network variables.
For example, the LonTalk Interface Developer utility generates the following
definitions for the floating point type SNVT_volt_f:

/*
* Type: SNVT_volt_f
*/
typedef LON_STRUCT_BEGIN(SNVT_volt_f)
{
LonByte Flags_1; /* Use bit field macros, defined
below */
LonByte Flags_2; /* Use bit field macros, defined
below */
ncuLong LS_mantissa;
} LON_STRUCT_END(SNVT_volt_f);


/*
* Macros to access the sign bit field contained in
* Flags_1
*/
#define LON_SIGN_MASK 0x80
#define LON_SIGN_SHIFT 7
#define LON_SIGN_FIELD Flags_1

/*
* Macros to access the MS_exponent bit field contained in
* Flags_1
*/
#define LON_MSEXPONENT_MASK 0x7F
#define LON_MSEXPONENT_SHIFT 0
#define LON_MSEXPONENT_FIELD Flags_1

/*
* Macros to access the LS_exponent bit field contained in
* Flags_2
*/
#define LON_LSEXPONENT_MASK 0x80
#define LON_LSEXPONENT_SHIFT 7
#define LON_LSEXPONENT_FIELD Flags_2

/*
* Macros to access the MS_mantissa bit field contained in
* Flags_2
*/
#define LON_MSMANTISSA_MASK 0x7F
#define LON_MSMANTISSA_SHIFT 0
#define LON_MSMANTISSA_FIELD Flags_2

See the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std
754-1985) documentation for more information.

Advertising