Hola hoy voy a ser dos post en uno, ya que realmente son breves Python posee un rico conjunto de tipos de datos, en el post anterior hablamos de los números complejos, ahora vamos a ver brevemente los enteros largos. El rango de los números flotantes puede resultar insuficiente para ciertas aplicaciones. Python ofrece la posibilidad de trabajar con números de cifras arbitrariamente largos. Un entero largo siempre finaliza con la letra L. Aquí un ejemplo Fíjate números enteros cambian automáticamente a enteros largos cuando es necesario.
Bueno también hablaremos de otros operadores, recuerdas que hemos visto los operadores suma, resta, multiplicación, división, modulo, elevación, etc, además de los operadores lógicos o booleanos, hoy te voy a presentar otros ya que en Python existe una variedad elevada, que en el transcurso de este blog se irán presentando.
Hay operadores que están dirigidos a manejar la secuencia de bits que codifican los números enteros.
El operador binario & calcula la operación “y” bit a bit.
El operador binario | calcula la operación “o” bit a bit
El operador binario ^ calcula la operación “o exclusiva”, la diferencia con la anterior es que la “o exclusiva” devuelve True si y sólo si los dos operandos son falsos.
El operador unario ~ invierte los bits de su operando.
Tienes además, los operandos binarios <<, >> , que desplazan los bits a izquierda o derecha tantas posiciones como se las indiques. Aquí una serie de ejemplos que ayudaran a entender estos operadores

Aun no te queda claro porque esos resultados, aquí una breve explicación
Para el primer ejemplo 5&12, nos da 4, porque??
En binario tenemos la expresión 5 que equivale (00000101) y la expresión 4 que equivale (00001100) si tenemos 5&12 entonces tenemos 00000101 & 00001100, que nos da como resultado 00000100, que equivale a 4.
La expresión nosotros la damos en números naturales pero se ejecuta como si fueran números binarios, el resultado también se muestra como en numero natural.
Bien será entendiste el ejemplo, pero no sabes aun como se pasa un numero binario a decimal o viceversa.
Extraje un ejemplo del portal wikipedia en su sección números binarios, espero te quede claro.
Decimal a binario
Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y así sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de las divisiones subsiguientes. Del más reciente hasta el primero que resultó. Este número será el binario que buscamos. A continuación se puede ver un ejemplo con el número decimal 100 pasado a binario.
100 |_2
0 50 |_2
0 25 |_2 –> 100 1100100
1 12 |_2
0 6 |_2
0 3 |_2
1 1
Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos dividiendo por dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de abajo a arriba. Y luego se haría un cuadro con las potencias con el resultado.
Ejemplo:
100|0
50|0
25|1 –> 1, 25-1=24 y seguimos dividiendo por 2
12|0
6|0
3|1
1|1 –> 100 1100100
Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8 primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151-128=23, para llegar al 151. Este valor se conseguirá distribuyendo unos entre las potencias cuya suma den el resultado buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0, esto es, 16, 4, 2 y 1, respectivamente.
Ejemplo:
20= 1|1
21= 2|1
22= 4|1
23= 8|0
24= 16|1
25= 32|0
26= 64|0
27= 128|1 128+16+4+2+1=151 10010111
Espero halla quedado claro, cualquier duda en comentarios, lo que iba a ser un post breve se convirtió en un gran post, nos vemos, saludos y gracias por sus comentarios.
Nota: Extracto del libro Introducci