[Tutor] Conversion question
Tom Green
xchimeras at gmail.com
Tue Jun 16 21:51:00 CEST 2009
Thanks I just happened to find the site myself. I guess I have to pass each
character to the function and build the 8-bit ASCII string or is there a
better way to do it?
On Tue, Jun 16, 2009 at 3:37 PM, Wayne <srilyk at gmail.com> wrote:
> On Tue, Jun 16, 2009 at 2:25 PM, Tom Green <xchimeras at gmail.com> wrote:
>
>> Correct 8-bit ASCII. Sorry about that. I am using Python 2.5.2, which
>> doesn't support bin. If I upgraded how would I go about converting the
>> entire string to 8-bit ASCII?
>>
>> I appreciate your help.
>
>
> you write the conversion yourself. anks
>
>
>
>
> 1. # convert a decimal (denary, base 10) integer to a binary string (base 2)
>
> 2. # tested with Python24 vegaseat 6/1/2005
> 3.
> 4. def Denary2Binary(n):
>
> 5. '''convert denary integer n to binary string bStr'''
> 6.
> bStr = ''
> 7. if n < 0: raise ValueError, "must be a positive integer"
>
> 8. if n == 0: return '0'
> 9. while n > 0:
>
> 10. bStr = str(n % 2) + bStr
> 11. n = n >> 1
>
> 12. return bStr
> 13.
> 14. def int2bin(n, count=24):
>
> 15. """returns the binary of integer n, using count number of digits"""
> 16. return "".join([str((n >> y) & 1) for y in range(count-1, -1, -1)])
>
> 17.
> 18. # this test runs when used as a standalone program, but not as an imported module
> 19.
> # let's say you save this module as den2bin.py and use it in another program
> 20. # when you import den2bin the __name__ namespace would now be den2bin and the
>
> 21. # test would be ignored
> 22. if __name__ == '__main__':
> 23. print Denary2Binary(255) # 11111111
> 24.
>
> 25. # convert back to test it
> 26. print int(Denary2Binary(255), 2) # 255
>
> 27.
> 28. print
> 29.
> 30. # this version formats the binary
>
> 31. print int2bin(255, 12) # 000011111111
>
> 32. # test it
> 33. print int("000011111111", 2) # 255
>
> 34.
> 35. print
> 36.
> 37. # check the exceptions
>
> 38. print Denary2Binary(0)
> 39. print Denary2Binary(-5) # should give a ValueError
>
>
> from http://www.daniweb.com/code/snippet285.html#
>
> HTH,
> Wayne
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090616/1d40d7f6/attachment.htm>
More information about the Tutor
mailing list