Algoritmos: ¿Qué sucede cuando un usuario crea una matriz de tamaño -100, qué sucede en la memoria?

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.

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.

En cualquier lenguaje sin muerte cerebral, eso sería un error, por lo que es una pregunta sin sentido.

More Interesting

¿Cuál es la forma más eficiente de recoger pelotas de tenis en una cancha?

¿Cuál es el tiempo de ejecución del método sort () en la biblioteca de Colecciones?

¿Hay alguna relación de recurrencia famosa aparte de Fibonacci?

Dada una expresión matemática 2 + 4 * 6 + 8-11, ¿cómo la colocaría entre corchetes de manera que proporcione el valor máximo? ¿Es posible codificar esto?

Cómo crear un árbol binario de búsqueda binaria para los datos: 10, 8, 15, 7, 3, 6, 12, 5, 9,17

¿Cuál es un buen algoritmo para generar un archipiélago en un mapa en particular?

¿Es posible hackear usando el lenguaje de programación C?

Tengo diez declaraciones que me gustaría calificar al permitir que las personas elijan una preferida cuando se les dan dos opciones. ¿Cómo voy a hacer esto?

Probé el problema 'Impresión espiral de matriz' durante 2 días. Incluso después de ver la solución, sigo fallando. ¿Qué tengo que hacer?

¿Cómo realizo la codificación de huffman usando lista enlazada?

¿Por qué los algoritmos no hacen las preguntas sobre Quora?

¿Cuál es la última actualización en el algoritmo SEO de Google en 2017 para un rango de sitio web?

¿Cuáles son las consideraciones más importantes para convertir un algoritmo en codificación?

¿Qué métricas deberían usarse para crear una puntuación de confiabilidad automática para los artículos de Wikipedia?

¿Las ventajas del arreglo lineal desaparecen si el arreglo es demasiado corto? ¿Por qué veo 4-6 cajas de cajas?