Float:16

John Woods john at frog.UUCP
Tue Oct 8 08:24:55 AEST 1985


> > > > Then you can define
> > > > float foo:16;
> > > > if you really think you can do something useful with 16-bit floats. Someone
> > > > must use them for something...
> > > Just such a construct is used in the accounting software in many UNIX System
> > > kernels.  It seems to suffice for the application.
> > Great, a violation of the C language spec in the kernel.
> Not really. I haven't axually seen it, but here's my theory:
> There must be a union of short[2] & float somewhere in the (which?) 
> kernel. The magic numbers are computed in float and the short[0] is
> written out to a file, the lower mantissa bits being deemed worthless.
> Not a violation, just (nonportable) bit fiddling.
> 
The last time I looked at process accounting, what goes on is that they define
16-bit floating point arithmetic in software; e.g., they take a short, and
do appropriate masks and shifts to make it work.  Read Knuth or some other
source to learn how to simulate floating point hardware (or to learn what it
is that floating point hardware simulates).

--
John Woods, Charles River Data Systems, Framingham MA, (617) 626-1101
...!decvax!frog!john, ...!mit-eddie!jfw, jfw%mit-ccc at MIT-XX.ARPA

"Out of my way, I'm a scientist!"
			- War of the Worlds



More information about the Comp.lang.c mailing list