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:
De izquierda a derecha:
14 = 1110
AND
5 = 0101
------
4 = 0100
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 = 1110De derecha a izquierda:
XOR
5 = 0101
--------
15 = 1011
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