Rationale for core Python numeric types
tim.peters at gmail.com
Thu Jul 15 20:28:29 CEST 2004
>> Python 3.0 won't even offer a fixed-size integer type -- it'll all be the
>> unbounded Python long type (mostly --
> If that is true, many of my data acquisition programs won't work any more,
> because besides using the struct module, I do have a need for occasional bit
> fiddling (masking, concatenating, setting, resetting, toggling, shifting, rotating) of
> bits in a particular word that represents some register on a hardware device.
You're too worried. The only real semantic difference is that a left
shift won't throw away bits by magic, and in a platform-dependent way,
anymore. BFD -- '&' the result with a mask to retain just the
low-order bits you want. That's the only way to do
platform-*independent* "short int" left shifts in Python already.
Right-shift and boolean and/or/xor/complement are unaffected.
"setting", "resetting" and "toggling" are special cases of boolean
and/or/xor/complement, so are unaffected. Don't know what you mean by
"concatenating". Python has never had direct support for rotating, so
that's also unaffected <wink>.
More information about the Python-list