[SPAM-Bayes] - Re: Converting IBM Floats..Help.. - BayesianFilter detected spam

Scott David Daniels Scott.Daniels at Acm.Org
Fri Mar 26 19:47:46 EST 2004


Ian Sparks wrote:

> You might find my weird little bits module helpful to take your floating
> point values in python apart in order to send them around.
> 
>      http://members.dsl-only.net/~daniels/bits.html
> <<
> 
> Could you demonstrate this?
No, this is more for the other direction.

from bits import msb, extract

def asIBM(v):
     """Only works for positive numbers, doesn't round"""
     assert v >= 0
     if 0 == v:
         return 8 * '\0'
     top = msb(v)
     expon = top // 4 + 1
     data = [chr(extract(v, n-8, n)) for n in
             range(expon*4, expon*4 - 7*8, -8)]
     data.insert(0, chr((expon + 64) & 127))
     return ''.join(data)

I haven't really tested the above, so you'd really better
check it carefully against some known values:

    asIBM(10.0625) or whatever else you know.

or whatever you know equivalents for.


-- 
-Scott David Daniels
Scott.Daniels at Acm.Org



More information about the Python-list mailing list