Le Tue, 27 Jan 2009 11:26:06 -0200, Ricardo Aráoz <ricar...@gmail.com> a écrit :
> > > "Vicent" <vgi...@gmail.com> wrote > > > >> Anyway, I am working with Python 2.5.4, and I am interested in > >> defining a > >> new type called "bit" (if possible), which represents a number that > >> can only > >> take values 0 or 1 —that's what we would call a "binary variable", in a > >> Mathematical Programming context. > The python manual is usually a good thing to read : > > > > 3.4.1 Bit-string Operations on Integer Types > > Plain and long integer types support additional operations that make > sense only for bit-strings. Negative numbers are treated as their 2's > complement value (for long integers, this assumes a sufficiently large > number of bits that no overflow occurs during the operation). > > The priorities of the binary bit-wise operations are all lower than the > numeric operations and higher than the comparisons; the unary operation > "~" has the same priority as the other unary numeric operations ("+" and > "-"). > > This table lists the bit-string operations sorted in ascending priority > (operations in the same box have the same priority): > > Operation Result Notes > |x | y| bitwise /or/ of x and y > |x ^ y| bitwise /exclusive or/ of x and y > |x & y| bitwise /and/ of x and y > |x << n| x shifted left by n bits (1), (2) > |x >> n| x shifted right by n bits (1), (3) > |~x| the bits of x inverted Why not '!' for not, instead of '~'? I mean, '!' is used in logic, in many languages and even in python (!=). On the other hand, I had never encountered '~' meaning not. Denis ------ la vida e estranya _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor