<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: Converting an integer to base 2</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=2>Yeah, it works. But not for n=0, when we get the wrong result '' intead '0'.</FONT>
<BR><FONT SIZE=2>See below:</FONT>
<BR><FONT SIZE=2>======================================================================</FONT>
<BR><FONT SIZE=2>Python 2.1 (#15, Apr 16 2001, 18:25:49) [MSC 32 bit (Intel)] on win32</FONT>
<BR><FONT SIZE=2>Type "copyright", "credits" or "license" for more information.</FONT>
<BR><FONT SIZE=2>IDLE 0.8 -- press F1 for help</FONT>
<BR><FONT SIZE=2>>>> def ito2(n):</FONT>
<BR> <FONT SIZE=2>if n < 1:</FONT>
<BR> <FONT SIZE=2>return ''</FONT>
<BR> <FONT SIZE=2>else:</FONT>
<BR> <FONT SIZE=2>return itoa2(n / 2) + str(n & 1)</FONT>
</P>
<P>
<BR><FONT SIZE=2>>>> ito2(0)</FONT>
<BR><FONT SIZE=2>''</FONT>
<BR><FONT SIZE=2>>>> </FONT>
<BR><FONT SIZE=2>========================================================================</FONT>
</P>
<P><FONT SIZE=2>I can modified the code do fix it, but it is appending the '0' string at the begining of result. Maybe someone could resolvt it:</FONT></P>
<P><FONT SIZE=2>See the modified code below do the same, also to n=0, but adding '0' at head of string.</FONT>
<BR><FONT SIZE=2>def ito2(n):</FONT>
<BR> <FONT SIZE=2>if n==0:</FONT>
<BR> <FONT SIZE=2>return '0'</FONT>
<BR> <FONT SIZE=2>elif n < 1 and n!=0:</FONT>
<BR> <FONT SIZE=2>return ''</FONT>
<BR> <FONT SIZE=2>else:</FONT>
<BR> <FONT SIZE=2>return ito2(n / 2) + str(n & 1)</FONT>
</P>
<P><FONT SIZE=2>>>> ito2(4)</FONT>
<BR><FONT SIZE=2>'0100'</FONT>
</P>
<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: William Park [<A HREF="mailto:opengeometry@yahoo.ca">mailto:opengeometry@yahoo.ca</A>]</FONT>
<BR><FONT SIZE=2>> Sent: Friday, November 30, 2001 5:37 PM</FONT>
<BR><FONT SIZE=2>> To: python-list@python.org</FONT>
<BR><FONT SIZE=2>> Subject: Re: Converting an integer to base 2</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> On Fri, Nov 30, 2001 at 10:16:16PM +0200, Erno Kuusela wrote:</FONT>
<BR><FONT SIZE=2>> > def itoa2(n):</FONT>
<BR><FONT SIZE=2>> > if n < 1:</FONT>
<BR><FONT SIZE=2>> > return ''</FONT>
<BR><FONT SIZE=2>> > else:</FONT>
<BR><FONT SIZE=2>> > return itoa2(n / 2) + str(n & 1)</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Brillant!</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> -- </FONT>
<BR><FONT SIZE=2>> William Park, Open Geometry Consulting, <opengeometry@yahoo.ca>.</FONT>
<BR><FONT SIZE=2>> 8 CPU cluster, NAS, (Slackware) Linux, Python, LaTeX, Vim, Mutt, Tin</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> -- </FONT>
<BR><FONT SIZE=2>> <A HREF="http://mail.python.org/mailman/listinfo/python-list" TARGET="_blank">http://mail.python.org/mailman/listinfo/python-list</A></FONT>
<BR><FONT SIZE=2>> </FONT>
</P>
</BODY>
</HTML>