Lucas Raab <[EMAIL PROTECTED]> wrote: > I am currently in the process of porting some C code into Python and am > stuck. I don't claim to be the greatest C/C++ programmer; in fact, my > skills at C are rudimentary at best. My question is I have the > statement: "typedef unsigned long int word32" and later on: "word32 > b[3]" referencing the third bit of the integer.
Are you sure that's accessing the third bit? It looks to me like it's accessing index 3 (counting from 0) of an array of ints. > How do I do the same in Python?? In any case, if you're doing bit-fiddling in Python, you've got two basic sets of tools. First, the basic arithmetic operators. Boolean and (&), or (|), left-shift (<<) and right-shift (>>) operators work in Python just like they do in C. Integer constants starting with 0x are in hex, and the "%x" format specifier prints integers in hex. You can play all the normal C bit-operation tricks. To test bit 7, you can do "word & (0x1 << 7)". To set bit 4, use "word |= (0x1 << 4)". Second, the struct module (http://docs.python.org/lib/module-struct.html) is useful for packing and unpacking C structures written out into binary files. -- http://mail.python.org/mailman/listinfo/python-list