Operaciones Binarias en Python

viernes, 15 de agosto de 2008

En Python podemos operar con numeros binarios también. Primero recordemos un poco:
por temas de simplificacion vamos a trabajar hasta con cuatro bits.

Decimal

Binario

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111


Es un poco complicado trabajar con numeros binarios, en Python simulamos trabajar con ellos pero se trabaja con numero decimales. Esto es así:

Operador AND
>>> 14 & 5
4

internamente esto opera:


14 = 1110
AND
5 = 0101
------
4 = 0100

De izquierda a derecha:
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
1 AND 0 = 0


>>> 9 & 3
1

Internamente:

9 = 1001
AND
3 = 0011
--------
1 = 0001

De derecha a izquierda:
1 AND 1 = 1
0 AND 1 = 0
0 AND 0 = 0
1 AND 0 = 0

Operador OR
>>> 14 | 5
15


14 = 1110
OR
5 = 0101
--------
15 = 1111


De derecha a izquierda:
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1
1 OR 0 = 1

>>> 9 | 3
11


9 = 1001
OR
3 = 0011
--------
1 = 0001


De derecha a izquierda:
1 OR 1 = 1
0 OR 1 = 0
0 OR 0 = 0
1 OR 0 = 0


Operador XOR
>>> 14 ^ 5
11

14 =     1110

XOR
5 = 0101
--------
15 = 1011
De derecha a izquierda:
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 0
1 OR 0 = 1


>>> 9 ^ 3

10

9 =      1001

XOR
3 = 0011
--------
1 = 1010

1 XOR 1 = 0
0 XOR 1 = 1
0 XOR 0 = 0
1 XOR 0 = 1


3 Comments:

Todo Ruby said...

Sinceramente Phytom es un lenguaje que no me gusta mucho, pero siempre es interesante conocerlo.

Aprende Ruby

Pablo Arroyo said...

me gusta me gusta me gusta

no entiendo mucho pero me gusta

Anónimo said...

en mi blog muestro algunos codigos interesantes....

http://doutdeslibertas.wordpress.com