Límite de rango (informática)

3 min
Editar

En informática, el límite de rango (en inglés, range limit) es el valor mínimo y el valor máximo que se admiten para una variable numérica, por ejemplo en un campo de una base de datos o en la entrada de un formulario. Una edad no puede ser negativa ni pasar de ciento veinte años, un porcentaje va de 0 a 100, un mes de 1 a 12. Comprobar que un dato está dentro de esos límites antes de guardarlo se llama validación de rango (range check), y es la defensa más sencilla contra los errores de tecleo y los datos absurdos.

Los límites de rango aparecen en dos niveles. El primero lo fija quien diseña el sistema, según el significado del dato: en una base de datos relacional se declara con una restricción de comprobación (check constraint), que impide guardar un registro con una edad de 250 años aunque el programa que lo envía no lo haya comprobado. El segundo lo impone la propia máquina. Cada tipo de dato ocupa un número fijo de bits, y eso limita los valores que puede guardar: un entero de 16 bits con signo va de −32.768 a 32.767, y uno de 32 bits, de algo más de menos dos mil millones a algo más de dos mil millones, como explica el artículo sobre el sistema binario.

Cuando un cálculo produce un número que no cabe en su tipo se habla de desbordamiento (overflow), y el resultado, en lugar de dar error, puede dar la vuelta y convertirse en un número muy negativo. Algunos de los fallos informáticos más caros han sido de este tipo. En 1996, el primer vuelo del cohete europeo Ariane 5 terminó con su autodestrucción a los cuarenta segundos del despegue porque un programa heredado del Ariane 4 convirtió una velocidad horizontal, que en el cohete nuevo era mucho mayor, a un entero de 16 bits que no podía contenerla. Y muchos sistemas que cuentan el tiempo en segundos desde el 1 de enero de 1970 con un entero de 32 bits llegarán a su límite el 19 de enero de 2038, el llamado problema del año 2038 (year 2038 problem).

Fijar bien los límites de rango exige conocer el dato y no solo el programa. Un límite demasiado estrecho rechaza valores legítimos, como el de los formularios que no admiten un apellido largo o una persona de más de cien años; uno demasiado ancho deja pasar errores que luego se propagan por todos los informes que usan ese dato.

Límites de rango

Sarasola, Eneko (2023). "Límite de rango (informática)". Ikusmira. Recuperado de https://ikusmira.org/p/limite-de-rango-informatica/

Una errata, un dato desfasado, un párrafo que falta: edítalo y la redacción revisa tu propuesta.

Sugerir una mejora →
§ Dónde encajaMapa del estante ↓
Sigue con
Informática Límite de rango (informática)
§ Tres puertas

¿Por dónde sigues?