Hi,
I am trying (and failing) to learn how AMOS Basic (and Amiga's) store floating point
numbers. Whilst it is clear that it uses Motorola Fast Floating Point (MFPP) I have been
unable to get it to work based on an equation found online (the Amiga RKRM's all say
to use the FPP functions in the maths libraries, and also confirm the layout - 24 bit
mantissa, 1bit sign, 7bit exponent).
Am I doing something wrong with my maths??
Formula:
FP result =[(-1)^SIGN] * [2^(EXP - 0x40)] * [MANTISSA / 0x1000000]
0x1000000 = 16,777,216
0x40=64
floating-point variable value=0.5
Binary value of variable=%10000000 00000000 00000000 01000000
Values calculated using formula (above):
SIGN=0 (positive)
EXPONENT=64 - 64 (bias) = 0
MANTISSA=2.51658 E+07 / 16,777,216 = 1.5
Thus:
result = [(-1)^SIGN] * [2^(EXP - 0x40)] * [MANTISSA / 0x1000000]
= [(-1)^0]*[2^(0)]*[1.5]
= 1*1*1.5
= 1.5!
I have uploaded a bitmap image of my maths to my site if it isn't clear from above
what I am doing.
http://www.geocities.com/aliensrcooluk/public/MFPP_problem.bmp
Please help!
Andrew B
aliensrcooluk at yahoo.co.uk