[pyar] Bitwise not..
Alejandro Santos
listas en alejolp.com
Jue Jun 17 02:11:51 ART 2010
On 16/06/10 18:32, Claudio Freire wrote:
>
>
> 2010/6/16 Alejandro J. Cura <alecu en protocultura.net
> <mailto:alecu en protocultura.net>>
>
> 2010/6/15 Roberto Alsina <ralsina en netmanagers.com.ar
> <mailto:ralsina en netmanagers.com.ar>>:
> > On Tuesday 15 June 2010 16:37:31 John Rowland Lenton wrote:
> >> On Tue, Jun 15, 2010 at 04:02:13PM -0300, Roberto Alsina wrote:
> >> > On Tuesday 15 June 2010 15:18:21 Claudio Freire wrote:
> >> > >
> >> > >
> >> > > Los enteros simples (int) son del tamaño de palabra nativo de la
> >> > > máquina donde corre python.
> >> >
> >> >
> >> >
> >> > Ouch! Santa no-multiplataforma Batman!
> >>
> >> si estás "twiddling bits", ya lo sabés de antes :)
> >
> > La verdad... cuando hacía eso en C o C++ sabía, y entonces usaba
> tipos con
> > tamaño definido (uint_32, etc). Ahora, en python como creo un
> entero de 32
> > bits en una plataforma de 64 y viceversa?
>
> >>> import struct
> >>> struct.pack("i",1)
> '\x01\x00\x00\x00'
> >>> struct.pack("q",1)
> '\x01\x00\x00\x00\x00\x00\x00\x00'
>
>
> Hm... no parece cumplir la función requerida:
>
Lo que dice Alecu está bien, el problema es la pregunta original.
En Python no hay forma de crear una variable de 32 bits como en C/C++ (a
menos que uses numpy como ya comentaron).
Lo más parecido que hay es representar un entero a su versión de 32
bits; para eso se usa struct.
Python oculta un monton de cosas, por ejemplo la representación de los
long() internamente es modulo 2**15:
http://docs.python.org/dev/whatsnew/2.7.html#optimizations
--
Alejandro Santos
http://www.alejolp.com.ar
More information about the pyar
mailing list