Index | wersja polska |
Both drawings were machine generated from the memory images.
Numerical values are encoded in packed BCD format.
The mantissa in range 1.000000000000 to 9.999999999999 occupies 13 digits, the least significant digit is stored first.
The exponent is biased by adding an offset 100 to put it within an unsigned range.
It occupies 2 digits.
The signs of the mantissa and the exponent are stored in a single digit:
value = first_digit_of_the_biased_exponent + 5 * sign_of_the_mantissa
List of all possible combinations of the sign digit:
0 - mantissa positive, exponent negative 1 - mantissa positive, exponent positive 5 - mantissa negative, exponent negative 6 - mantissa negative, exponent positive
Floating point number | Mantissa | Exponent | Signs |
---|---|---|---|
1.000000000000E00 -1.000000000000E00 1.000000000000E02 -1.000000000000E02 3.141592653600E00 -3.141592653600E00 1.000000000000E-02 -1.000000000000E-02 3.333333333333E-01 -3.333333333333E-01 |
00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 36 65 92 15 14 03 00 36 65 92 15 14 03 00 00 00 00 00 00 01 00 00 00 00 00 00 01 33 33 33 33 33 33 03 33 33 33 33 33 33 03 |
00 00 02 02 00 00 98 98 99 99 |
01 06 01 06 01 06 00 05 00 05 |
1. storage format in the main register block |
---|
|
An example number 1.23456E78 is stored as 00 00 00 60 45 23 01 78 01 |
2. storage format on the user stack |
|
An example number 1.23456E78 is stored as 01 00 00 00 60 45 23 01 78 |
3. compact format of numeric variables and constants |
|
An example number 1.23456E78 is stored as 00 00 00 60 45 23 81 17 |