[fpc-pascal]Converting TP Reals in ANSI-C
Trevor Cooper
tcooper at ucsd.edu
Wed Mar 14 04:06:41 CET 2001
Many examples can be found to demonstrate how to convert the Turbo Pascal 6
byte Real into IEEE compliant floating point types WITHIN a PASCAL environment.
I need to write routines in ANSI C that can read/write these reals from/to
a binary file when they are part of variant record type. I am concerned
that I must also consider word/byte ordering as well as the internal
representation of the exponent and mantissa.
Has anybody seen and/or does anybody have source code for doing this in ANSI C?
If not, can anybody enlighten me as to exactly how the following record
should be written to a binary file, particularly the Reals?
Record_Type = (Header_Block, Data_Block);
Data_Record = record case Header_Trailer : Record_Type of
Header_Block : ( {variant type 1}
NumChan : Integer; {16}
Gain : Integer; {0}
Freq : Real; {100.0}
SampT : Real; {10.0}
Ymin : array[0..15] of Real; {0.0}
Ymax : array[0..15] of Real; {4095.0}
Slope : array[0..15] of Real; {1.0}
Intercept : array[0..15] of Real; {0.0}
Data_time : LongInt;
);
Data_Block : ({variant type 2}
DataLine : array[0..4095] of Integer; {0-4095 or -9999}
);
end; {record case}
Trevor Cooper
UCSD Division of Physiology
More information about the fpc-pascal
mailing list