[comp.sys.dec] PDP-11 floating point format query

richardh@killer.DALLAS.TX.US (Richard Hargrove) (11/24/88)

(Sorry for the distribution to the questionable newsgroups but I'm trying
 to get this to as many old PDP-11 hands as I can.)

Can anyone answer some questions I have about data objects in PDP-11 floating 
point format?

What I know is this:

	+-+--------+-----------------------+
	|s|eeeeeeee|mmmmmmmmmmmmmmmmmmmmmmm|
	+-+--------+-----------------------+

where
	s == sign bit
	e == 8 bit exponent
	m == 23 bit mantissa (with hidden 1 bit for 24 bits of precision)

I'm also aware of a 64-bit format similar to above with 55 mantissa bits.

I'm assuming that the exponent is in excess 128 format, producing an exponent
range of -128..127. Is this assumption correct? This is critical since, for 
example, an excess 127 format would modify the exponent range to be -127..128.

I'm assuming the sign/mantissa combination are implemented in signed magnitude
format. Is this assumption correct?

The question that has me stumped is where is the binary point in relation to 
the hidden bit (does a mantissa of xxxxx... express the number 1.xxxxx... 
or .1xxxxx...?)

I obviously don't have access to a PDP-11 (or PDP-11 documentation) or I 
would have checked this out myself. Just knowing the binary representations 
of 3.0 and -3.0 should allow me to answer the questions I have.

Please send responses to me since this is probably of little general interest.

Thanks for listening,

richard hargrove
...!{ames | decwrl}!killer!richardh
--------------------------------------------

normt@ihlpa.ATT.COM (Norman R Tiedemann) (12/01/88)

In article <6215@killer.DALLAS.TX.US>, richardh@killer.DALLAS.TX.US (Richard Hargrove) writes:
> Can anyone answer some questions I have about data objects in PDP-11 floating 
> point format?
> 
> What I know is this:
> 	+-+--------+-----------------------+
> 	|s|eeeeeeee|mmmmmmmmmmmmmmmmmmmmmmm|
> 	+-+--------+-----------------------+
> where
> 	s == sign bit
> 	e == 8 bit exponent
> 	m == 23 bit mantissa (with hidden 1 bit for 24 bits of precision)
> 
> I'm also aware of a 64-bit format similar to above with 55 mantissa bits.
> I'm assuming that the exponent is in excess 128 format, producing an exponent
> range of -128..127. Is this assumption correct? This is critical since, for 
> example, an excess 127 format would modify the exponent range to be -127..128.

Yes, you are correct, the exponent is in excess 128 format so zero's in this
field imply an exponent of -128.

> I'm assuming the sign/mantissa combination are implemented in signed magnitude
> format. Is this assumption correct?

	Yes.

> The question that has me stumped is where is the binary point in relation to 
> the hidden bit (does a mantissa of xxxxx... express the number 1.xxxxx... 
> or .1xxxxx...?)

	.1xxxxxx is the correct representation for the hidden bit.

Smart people will note here, that with the hidden one format, there is no
true representation for 0.000... That is the case. Zero is a special
case and is represented by zero's in all 32 bits. (This is actually the
representation for .100000x10^-128, but DEC takes this as a special case
of zero.
> Just knowing the binary representations of 3.0 and -3.0 should allow me 

+3.0 =>   0 10000010 10000000000000000000000
-3.0 =>   1 10000010 10000000000000000000000

Boy this made me think up old memories of the PDP class I used to teach
at the U of Wisconsin.


> richard hargrove
> ...!{ames | decwrl}!killer!richardh
> --------------------------------------------

	Norm Tiedemann		AT&T Bell Labs IH 2G-331
	att!ihlpa!normt		2000 Naperville Rd.
	normt@ihlpa.att.com	Naperville, IL	60566


-- 

	Norm Tiedemann		AT&T Bell Labs IH 2G-331
	att!ihlpa!normt		2000 Naperville Rd.
	normt@ihlpa.att.com	Naperville, IL	60566