[pyar] Bitwise not..

Claudio Freire klaussfreire en gmail.com
Jue Jun 17 14:38:12 ART 2010


2010/6/17 Roberto Alsina <ralsina en netmanagers.com.ar>

> Pero ahí está el chiste de lo que yo vengo diciendo.
>
> Para "negar todos los bits" tenés que saber cuantos bits son, porque tenés
> que
> negar también los ceros a la izquierda!
>

Ehm... no, no hace falta.

Justamente como python extiende el bit de signo, todo número en python se
puede considerar como una cadena infinita de bits:

(inf)...<signo><digitos>

~n

invierte todos esos (infinitos) bits:

(inf)...<~signo><~digitos>

Si tiene que extender el tamaño de digitos, está bien, no importa, todo
sigue funcionando.

Veamos:

>>> 0xFF
255
>>> ~0xFF
-256
>>> 0x123451234512345
81985162712261445
>>> 0x123451234512345 & (~0xFF)
81985162712261376
>>> hex(_)
'0x123451234512300'
>>> 0x123451234512345123412345
5633977481702425036513682245L
>>> 0x123451234512345123412345 & (~0xFF)
5633977481702425036513682176L
>>> hex(_)
'0x123451234512345123412300L'
>>>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100617/4280a769/attachment.html>


More information about the pyar mailing list