Python OverflowError: Python Int demasiado grande para convertir a C Long
-
el
OverflowError: Python int demasiado grande para convertir a C largo
en Python -
Solucione el
OverflowError: Python int demasiado grande para convertir a C long
en Python
Este tutorial demostrará el error OverflowError: python int too large to convert to c long
en Python.
el OverflowError: Python int demasiado grande para convertir a C largo
en Python
Se genera un OverflowError
en Python cuando un resultado aritmético excede el límite dado del tipo de datos. Encontramos este error especificado porque intentamos operar con un valor de número entero mayor que el rango dado.
Código:
import numpy as np
arr = np.zeros((1, 2), dtype=int)
a = [6580225610007]
arr[0] = a
Producción :
OverflowError: Python int too large to convert to C long
El ejemplo anterior crea una matriz de tipo int
. Intentamos almacenar una lista que contenga un número entero mayor que el rango de tipo int
.
El tamaño máximo también se puede comprobar mediante una constante de la biblioteca sys
. Esta constante está disponible como sys.maxsize
.
Solucione el OverflowError: Python int demasiado grande para convertir a C long
en Python
Para evitar este error, debemos tener en cuenta el rango máximo que podemos usar con el tipo int
. Existe una solución, especialmente en este ejemplo con respecto a una matriz numpy.
El tipo int
era igual al tipo long int
del lenguaje C y se cambió en Python 3, y el tipo int
se convirtió en un tipo de precisión arbitraria.
Sin embargo, la biblioteca numpy
todavía lo usa como se declara en Python 2. El long int
generalmente depende de la plataforma, pero para Windows, siempre es de 32 bits.
Para corregir este error, podemos usar otros tipos que no dependen de la plataforma. La alternativa más común es el tipo np.int64
, y lo especificamos en la matriz con el parámetro dtype
.
Código:
import numpy as np
arr = np.zeros((1, 2), dtype=np.int64)
a = [6580225610007]
arr[0] = a
print(arr)
Producción :
[[6580225610007 6580225610007]]
El ejemplo anterior muestra que el error se resuelve utilizando el tipo alternativo.
Otra forma puede ser usar un bloque try
y except
. Estos dos bloques se utilizan para evitar excepciones en Python.
El código en el bloque excepto
se ejecuta si se lanza una excepción en el bloque intentar
.
Código:
import numpy as np
arr = np.zeros((1, 2), dtype=int)
a = [6580225610007]
try:
arr[0] = a
except:
print("Error in code")
Producción :
Error in code
El ejemplo anterior evita el error utilizando los bloques try
y except
. Recuerde que esto no es una solución para el error dado, sino un método para solucionarlo.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python