Floating point numbers on the Pyramid

P. Vijay vijay at topaz.ARPA
Thu Jun 27 13:38:46 AEST 1985


	Could someone tell me how the Pyramid 90x
	does floating point numbers? Somebody told
	me it was the IEEE floating point std.  Is
	this true?  If it is, could someone direct
	me to a paper (or tell me) what this std
	looks like.

  If you mean the representation of floating point numbers in Pyramid-90x
hardware, it is as follows:

single precision:

  31 30    23 22		    0
  .  ........ .......................
  S     E    		 F

S - Represents sign bit. One represents negative and 0 represents positive.

E - These 8 bits represent a biased exponent.  The bias is 2**7 - 1 = 127.

F - This represents a 23 bit fraction.  There is an implied 1 beyond the
most significant bit (bit 22) of the fraction.  In other words, the fraction
is assumed to be a 24-bit normalized fraction and the most significant bit,
which is always 1 due to normalization, is not represented.  The binary
point is assumed to be between the implied bit and bit 22 (MSB) of the
fraction.  The value represented by a floating point number is given by:

	a. If 0 <= E <= 255 then
		value = (-1)**S * 2**(E-127) * (1.F)
	     [positive or negative normalized single precision real numbers]
	b. If E = 0 and F = 0 then
		value = (-1)**S * 0
	     [positive or negative zero]


double precision:

 63 62       52 51			                           0
  . ........... ....................................................
  S      E				F

S - sign bit 
E - 11 bit biased exponent.   Bias is 2**10 - 1 = 1023 
F - 52 bit fraction with a 1 implied beyond bit 51.  The binary point is
assumed between the implied bit and bit 51.

	a. If 0 <= E <= 2047 then
		value = (-1)**S * 2**(E-1023) * (1.F)
	     [positive or negative normalized double precision real numbers]
	b. If E = 0 and F = 0 then
		value = (-1)**S * 0
	     [positive or negative zero]

      I think this is IEE representation, but I am not quite sure about
it.

      All floating point results are computed to within half a unit in
the last place of the destination format.  All computations are performed
as if correct to infinite precision, then rounded.

						--Vijay--



More information about the Comp.unix mailing list