Es casi seguro que obtendrá un error, ya que las matrices deben tener un tamaño que sea tanto un número entero como mayor que cero, como ha señalado Marcas Neal.
Sin embargo, un compilador / lenguaje sin características de seguridad de tipo puede interpretar -100 como un entero sin signo, lo que es positivo y, por lo tanto, es un tamaño de matriz válido.
El valor que obtendrá variará según la arquitectura de la computadora y el lenguaje de programación. Por ejemplo, si -100 se tomó como un entero de 32 bits sin signo, entonces su representación binaria, 11111111111111111111111110011100, se interpretará como 4,294,967,196.
- ¿Es la incapacidad de implementar estructuras de datos básicas como una lista doblemente enlazada, un árbol con punteros primarios usando un código seguro la mayor debilidad de Rust?
- ¿Qué son los algoritmos de calibración para aplicaciones biomédicas en teléfonos inteligentes?
- ¿Qué es binario y por qué lo usan las computadoras?
- ¿Cuáles son las aplicaciones más prácticas (vida cotidiana) del algoritmo de agrupación de k-means? ¿Cómo se ha utilizado exactamente k-means en estas aplicaciones?
- ¿Qué algoritmo en aprendizaje automático es el más adecuado para unir los datos entrantes nuevos con los datos existentes en la base de datos SQLite?
El tamaño al que equivale en la memoria variará según el tipo de matriz. Para un tipo que ocupa un byte por elemento (como el tipo char en la mayoría de las implementaciones de C / C ++), nos quedaremos con poco más de 4 GB de memoria asignada para la matriz. Por cierto, esto es realmente más de lo que los procesos de Windows de 32 bits pueden acceder, lo que debería conducir a un error de asignación de memoria.
Este no es el caso de todos los lenguajes y compiladores más utilizados, y casi con seguridad solo estaría presente como un error en el compilador.