5.
A one-byte type-descriptor(02 = Integer, 03 = String, 04 =
Single =Precision, 08 = Double-Precision).
Item 1 immediately precedes the first element, Item 2 precedes Item
1,
and so on.
The elements of the array are stored sequentially with the first
dimension-subscripts varying "fastest", then the second, etc.
Examples
A!
= 2
is
stored as follows:
2
= 10 Binary, normalized as
.1
E2
=
.1
x 10 (to the second)
So exponent of A is 128
+2 = 130 (called excess 128)
MSB of A
is
10000000; however, the high bit
is
changed to zero since
the value
is
positive(called hidden or implied leading one).
So
A!
is
stored as
Exponent(K
+
3)
MSB(K
+
2)
Next
MSB(K
+
1)
LSB(K)
130
0 0 0
A!
=
-.5
is stored as
Exponent(K
+
3)
MSB(K
+
2)
Next
MSB(K
+
1)
LSB(K)
128
128
0 0
A!
=7
is
stored as
Exponent(K
+
3)
MSB(K
+
2)
Next
MSB(K
+
1)
LSB(K)
131
96
0 0
A!=
-7:
Exponent(K
+
3)
MSB(K
+
2)
Next
MSB(K
+
1)
LSB(K)
131
224
0 0
Zero is stored as a zero-exponent. The other bytes are insignificant.
Y = USRlIVARPTRlnuMber»
If
number is
an
integer value, VARPTR(number) finds the address of
the least significant byte of number. This address is passed to the
subroutine, which
in
turn passes its result to
Y.
2-176