Nasa's Challenging Problem Of Numbers Stored In Special Formats[Baking America] |
|
See also http://nssdc.gsfc.nasa.gov/nssdc/formats/...
Data Format and Conversion Information for Heritage Data at the
National Space Science Data Center
NASA Goddard Space Flight CenterGreenbelt, MD 20771, USA
NSSDC holds many hundreds of digital data sets from the early years of the space program. Some of these data sets have their numeric data coded in vendor-dependent representations and have insufficient future-use potential to justify an expensive transformation of their data to more modern word representation standards (or even to ASCII). However, they have sufficient future-use potential to warrant a documentation of these vendor-dependent representations so that a sufficiently motivated future researcher will be able to transform the data to a form usable in his/her day. Others may find these reference pages of use, also. Numeric data may have character-oriented or binary representations. In the former, the number "27" would be represented by two pairs of (typically) 6 or 8 bits, one set representing the character "2" and the other set the character "7". One example of this kind of representation is known as "ASCII" characters. ASCII is the abbreviation for the "American Standard Code for Information Interchange". Specific information about character representations is documented here for various formats (see Alphanumeric Characters , below).
Binary Data uses sets of N bits (N is typically 16, 18, 32, 36, 48, or 60 bits - or more!) to represent numbers of a wide range of sizes. Binary representations may be pure integer numbers or [floating point]?Create (also called "real") numbers.
NOTE: Some of the tables in the links below are wide; if you print pages with these tables, you might have to use landscape mode to prevent table truncation.
Floating point numbers are numbers which do have decimal points and digits (zero or non-zero) to the right of the decimal point. These numbers are frequently, but not always, approximations (albeit highly precise approximations) as represented internally in the computer: -3.333, 0.0, 1.0, 3.14, 5E+308 (that's 5 followed by 308 zeroes).
A floating point number, N, is represented in the computer by
N = (sign) Ч (fraction) Ч ( base exponent-bias ). Sign is + or -; fraction is usually 0<= fraction <1; base is usually 2; and exponent and bias are integers.
The exponent has a bias (sometimes called excess) of varying values. If the bias is 64, the value of 0 to 127 in a seven-bit exponent field is interpreted as -64 to +63.
The fraction is sometimes referred to as mantissa, magnitude, or significand ; the exponent is sometimes referred to as the characteristic.
The fraction is usually, but not always, normalized such that the leading bit is a one. Since it is always a one in such systems, it is usually dropped. Hence, there are 33 bits of information in such a 32-bit word! This is called "hidden point normalization".
Bit representations for fractions represent powers of 1/2. Thus, a fraction with bits of 1011 is:
[1*(0.5)**1] + [0*(0.5)**2] + [1*(0.5)**3] + [ 1*(0.5)**4] = 11/16, or 0.6875.
Note: The most significant bit as shown in the tables referred to in the links below is the leftmost bit. These tables sometimes refer to that bit as bit "1", sometimes as another number. We have tried to be consistent with the original manufacturer's descriptions.
CDC 1604
CDC3000 Series
CDC6000/7000 Series
Data General Eclipse
GE-635
IBM 1130
IBM 7044/7090/7094
IBM 32-bit
Modcomp
PDP-1
PDP-10 Note: The PDP-10 is the same computer as the DEC-10.
PDP-11
SEL 32
Univac 418
Unisys (and Univac) 36-bit VAX
Xerox/Scientific?Create Data Systems Sigma 9
Xerox/Scientific?Create Data Systems Sigma 5
A comment on how the data may be "packed". Some of these data were originally written on computers with 6-bit bytes (and 36 bit "words"); most others were written using 8-bit bytes (and 32-bit "words"). Additionally, the data may have been written onto 7- or 9-track tapes. One track on each tape is a parity track; the remaining 6 or 8 tracks stored the data, which matches 6- or 8-bit bytes. Occasionally, 6-bit data may have been written onto 9-track tapes, or even 8-bit data onto 7-track tapes. If these data have been subsequently written onto other media (such as DLT's or even CD's), whatever format the data were written in may have been retained.
The 6-bit data written on 9-track tapes may have been written with two extra bits of zero (called "fill") so that one 6-bit byte resides in one 8-bit byte of data (called a "frame" on the tape). On the other hand, it may have been writen such that the 8-bit byte contains 6 bits of one data byte, and two bits of another; with the next frame having 4 bits of the next byte, and 4 bits of another byte. And so on.
Likewise, any 8-bit data written onto 7-track tapes would use more than one frame to store each byte. These data were almost always written without usuing any zero fill. Thus, for a string of 8-bit bytes, the first frame would have the first six bits of data; the next frame, the following two bits from the first byte, and four bits of the next byte. And so on.
Curators:
Nathan L. James, nate.james@gsfc.nasa.gov, +1-301-286-9789 Code 633, NASA Goddard Space Flight Center Greenbelt, MD 20771, USA
George Fleming, George.L.Fleming.1@gsfc.nasa.gov Code 633/587, NASA Goddard Space Flight Center Greenbelt, MD 20771, USA
NASA Official: Dr. Joseph H. King, Head, NSSDC Version 1.0x December 17, 2002
See also Recipes , Recipe Books , Recipe Tips ...
|
|
Interested in Testing This Wiki Is Cool?