[Tutor] Defining "bit" type -- why not '!' ?
spir
denis.spir at free.fr
Thu Jan 29 10:19:57 CET 2009
Le Tue, 27 Jan 2009 11:26:06 -0200,
Ricardo Aráoz <ricaraoz at gmail.com> a écrit :
>
> > "Vicent" <vginer at 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
More information about the Tutor
mailing list