Floating point format conversion?
Wild Rider
robertsw at ...!asuvax!gtephx
Tue Apr 30 04:48:35 AEST 1991
i tried email, but (alas), it bounced; here's the text:
In article <1991Apr25.203121.11130 at ericsson.se> writes:
>
>Hi,
>
>I have a data file which was written using Micrsoft binary format for
>floating point numbers. On a PC this is not a problem because the
>microsoft C libraries have a function to convert the MSC binary format
>to IEEE binary format.
>
>I am looking for a function to perform this same function on a Sun
>workstation running SunOS 4.1.1. Does anyone have the source code
>for this type of function or know the algorithm for such a conversion?
>
uh, well, if it were me, being the lazy scumbag that i am :-),
i'd simply do the conversion on the pc side using the microsoft
conversion function, then ship the converted data to the sun.
but, i suppose, you already have the data on the sun & have
no way of getting it to the pc & back?
hmm... well, then, you _do_ have a problem, don't you...
if you have the intestinal fortitude, you can write a
function in c to do the trick; i had to convert ibm (mainframe)
floating point to ieee & was able to do it in c pretty
easily, once i had the specs for the 2 formats. all you
need to do is declare a bitfield struct for each format,
then push the bits around as necessary. for example, i
believe the following struct pretty much describes an ieee
floating point value:
typedef struct {
ieee_sign unsigned:1;
ieee_exp unsigned:8;
ieee_mantissa unsigned:23;
} ieee_t;
btw, don't forget the "hidden bit" when you're doing the conversion...
all this makes more sense when you're looking at the specs.
hope this helps...
wr (wild rider)
--
Wallace Roberts, AG (formerly GTE) Communication Systems, Phoenix, AZ
UUCP: ...!{ncar!noao!asuvax | uunet!zardoz!hrc | att}!gtephx!robertsw
Internet: gtephx!robertsw at asuvax.eas.asu.edu Bike: '82 GS1100L Suz
voice: (602)581-4555 fax: (602)582-7624 Cage: '89 Mustang GT
More information about the Comp.lang.c
mailing list