home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / p / python / pyhtmldoc / b / bit-string < prev    next >
Text File  |  1996-11-14  |  2KB  |  38 lines

  1. <TITLE>Bit-string Operations -- Python library reference</TITLE>
  2. Prev: <A HREF="../n/numeric_types" TYPE="Prev">Numeric Types</A>  
  3. Up: <A HREF="../n/numeric_types" TYPE="Up">Numeric Types</A>  
  4. Top: <A HREF="../t/top" TYPE="Top">Top</A>  
  5. <H3>2.1.4.1. Bit-string Operations on Integer Types</H3>
  6. Plain and long integer types support additional operations that make
  7. sense only for bit-strings.  Negative numbers are treated as their 2's
  8. complement value (for long integers, this assumes a sufficiently large
  9. number of bits that no overflow occurs during the operation).
  10. <P>
  11. The priorities of the binary bit-wise operations are all lower than
  12. the numeric operations and higher than the comparisons; the unary
  13. operation `<SAMP>~</SAMP>' has the same priority as the other unary numeric
  14. operations (`<SAMP>+</SAMP>' and `<SAMP>-</SAMP>').
  15. <P>
  16. This table lists the bit-string operations sorted in ascending
  17. priority (operations in the same box have the same priority):
  18. <P>
  19. <DL>
  20. <DT><I>Operation</I><DD><I>Result</I>  ---  <I>Notes</I>
  21. <P>
  22. <DT><CODE><VAR>x</VAR> | <VAR>y</VAR></CODE><DD>bitwise <DFN>or</DFN> of <VAR>x</VAR> and <VAR>y</VAR>
  23. <DT><CODE><VAR>x</VAR> ^ <VAR>y</VAR></CODE><DD>bitwise <DFN>exclusive or</DFN> of <VAR>x</VAR> and <VAR>y</VAR>
  24. <DT><CODE><VAR>x</VAR> & <VAR>y</VAR></CODE><DD>bitwise <DFN>and</DFN> of <VAR>x</VAR> and <VAR>y</VAR>
  25. <DT><CODE><VAR>x</VAR> << <VAR>n</VAR></CODE><DD><VAR>x</VAR> shifted left by <VAR>n</VAR> bits  ---  (1), (2)
  26. <DT><CODE><VAR>x</VAR> >> <VAR>n</VAR></CODE><DD><VAR>x</VAR> shifted right by <VAR>n</VAR> bits  ---  (1), (3)
  27. @hline@hline
  28. <DT><CODE>~<VAR>x</VAR></CODE><DD>the bits of <VAR>x</VAR> inverted
  29. </DL>
  30.  Notes:
  31. <DL>
  32. <DT><B>(1)</B><DD>Negative shift counts are illegal.
  33. <DT><B>(2)</B><DD>A left shift by <VAR>n</VAR> bits is equivalent to
  34. multiplication by <CODE>pow(2, <VAR>n</VAR>)</CODE> without overflow check.
  35. <DT><B>(3)</B><DD>A right shift by <VAR>n</VAR> bits is equivalent to
  36. division by <CODE>pow(2, <VAR>n</VAR>)</CODE> without overflow check.
  37. </DL>
  38.