¿Por que la division entre 0 marca error ?

14 noviembre, 2011 at 2:34 Deja un comentario

Una division por cero es en informática, y particularmente en programación, considerada como un clásico error lógico.

Puesto que muchos algoritmos informáticos clásicos de división usan el método de restas sucesivas, al ser el divisor cero, la resta como tal se ejecuta por siempre, ya que el dividendo nunca cambia. La aplicación en cuestión entra entonces en un bucle infinito.

Para prevenir esto, actualmente los procesadores matemáticos son capaces de detectar divisiones por cero en tiempo de ejecución, y llegado el caso, entregan informes de error distinguibles al sistema, para que éste termine el proceso que se está ejecutando.

 

 

 

 

Por su parte, los compiladores más modernos incorporan mensajes de error cuando una división por cero ocurre explícitamente, mientras que algunos incluso además intentan detectar divisiones por cero no explícitas. Aquellos lenguajes que incorporan manejo de excepciones pueden capturar este evento para que sea tratado apropiadamente, ejecutando un código especialmente dedicado a este caso.

En el caso particular de divisiones por cero en aritmética de números en punto flotante, el estándar IEEE indica que si el dividendo se hace cero en algún momento, tal operación deberá dar como resultado el valor Inf (infinito), o particularmente NaN (Not a Number, «No es un Número»).

En algunos círculos se ha aceptado por convenio y de forma incorrecta que el resultado de una división por cero es infinito, a menos que el numerador también sea cero, lo que daría de resultado un número indeterminado. Esto es en cualquier caso un error, ya que la división entre cero es simplemente imposible, ni da infinito ni es una indeterminación.
 
 
Ejemplo:

Imaginemos que tenemos un cubo de agua de un litro y que deseamos llenar un tanque de diez litros, para llenar el tanque necesitaríamos diez cubos llenos de agua. Ahora imaginémonos que el cubo es diez veces más pequeño, necesitaríamos cien cubos llenos. Si el cubo es cien veces más pequeño necesitaríamos mil cubos, si es mil veces más pequeño, diez mil cubos. Así de forma sucesiva. Por lógica podríamos pensar que si el cubo lleva cero litros tendríamos que hacer infinitos viajes, pero esto no es cierto ya que infinitos cubos vacíos no llenan nada.

 

El 0 dividido por todo número, salvo el 0, es 0.

Entry filed under: Sin categoría. Tags: , , , , , , , .

MICROSOFT PROJECT

Deja un comentario

Trackback this post  |  Subscribe to the comments via RSS Feed


INFORMATICA

noviembre 2011
D L M X J V S
 12345
6789101112
13141516171819
20212223242526
27282930