Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Error en multiplicación en Excel 2007 (https://www.clubdelphi.com/foros/showthread.php?t=48437)

marcoszorrilla 25-09-2007 13:56:52

Error en multiplicación en Excel 2007
 
Cita:

Excel 2007 Multiplication Bug
Posted by kdawson on Monday September 24, @10:37PM
from the be-fruitful-and-all-that dept.
Microsoft Math IT
tibbar66 writes with news of a serious multiplication bug in Excel 2007, which has been reported to the company. The example first that came to light is =850*77.1 — which gives a result of 100,000 instead of the correct 65,535. It seems that any formula that should evaluate to 65,535 will act strangely. One poster in the forum noted these behaviors: "Suppose the formula is in A1. =A1+1 returns 100,001, which appears to show the formula is in fact 100,000... =A1*2 returns 131,070, as if A1 had 65,535 (which it should have been). =A1*1 keeps it at 100,000. =A1-1 returns 65,534. =A1/1 is still 100,000. =A1/2 returns 32767.5."
Enlace

Un Saludo.

marceloalegre 27-09-2007 14:40:27

jajaja que verguenza!!!, un bug terrible....
aca paso otro enlace en español del tema....

http://www.kriptopolis.org/excel-200...la-calculadora

radaalvaro 27-09-2007 17:15:16

Fatal...
 
Me parece un error terrible..., como es posible que puedan tener un BUG, en algo tan básico... cuando es lo mínimo que se le pide a EXCEL.

Viendo esto, me imagino que deben existir otro grupo de errores de este tipo, de modo que no se puede confiar en ese producto.

Bueno... a buscar otras alternativas... (Opinion personal).

Saludos.

Al González 27-09-2007 20:13:49

Si esta noticia es cierta, me quedo sin palabras. :eek: :eek:

¿Alguien que tenga Excel 2007 para corroborarlo?

Al González. :)

jhonny 27-09-2007 20:21:59

Cita:

Empezado por Al González (Mensaje 234429)
¿Alguien que tenga Excel 2007 para corroborarlo?

Yo tengo Microsoft Excel 97 SR-1 y funciona muy bien :D. Pero de verdad, me uno a la petición de Al González.

egostar 27-09-2007 20:31:39

Entren a este link y hagan la prueba, yo ya la hice......:D:D

Salud OS

Edito: Necesitan IExplorer, obviamente, :D:D:D

Al González 27-09-2007 21:01:21

OK, tal parece que sí es cierta la pifia. Y según se dice, el problema está sólo en la representación visual del dato, mas no en el cálculo en sí. Aunque con la pura representación tenemos para pensar en grandes consecuencias.

Ahora la pregunta obligada de un informático: ¿cómo sucede esto?

Y de alguien que suele ir más allá: ¿Alguien lo ha podido examinar con un depurador de código máquina? ¿Qué algoritmo se emplea?

Al.

radaalvaro 27-09-2007 22:22:24

Corroborado
 
Cita:

Empezado por Al González (Mensaje 234429)
Si esta noticia es cierta, me quedo sin palabras. :eek: :eek:

¿Alguien que tenga Excel 2007 para corroborarlo?

Al González. :)

Yo tengo Excel 2007 y es cierto... lo probe, y efectivamente muestra la falla. :confused:

Ya no hay confianza en ese producto.

Saludos.

maeyanes 28-09-2007 19:14:17

Aquí una explicación del bug de Excel 2007:

Cita:

Empezado por Joel on Software
Explaining the Excel Bug
This item ran on the Joel on Software homepage on Wednesday, September 26, 2007

By now you've probably seen a lot of the brouhaha over a bug in the newest version of Excel, 2007. Basically, multiplying 77.1*850, which should give you 65,535, was actually displaying 100,000.

Before I try to explain this, I should disclose that I did work on the Excel team, but that was thirteen years ago. I haven't been there for a long time. I don't even think I know anyone on that team any more. I'm just trying to explain the bug a little bit as a public service.

The first thing you have to understand is that Excel keeps numbers, internally, in a binary format, but displays them as strings. For example, when you type 77.1, Excel stores this internally using 64 bits:

0100 0000 0101 0011 0100 0110 0110 0110
0110 0110 0110 0110 0110 0110 0110 0110

The display is showing you four characters: "7", "7", ".", and "1".

Somewhere inside Excel is a function that converts binary numbers to strings for displaying. This is the code that has the bug that causes a few numbers which are extremely close to 65,535 to be formatted incorrectly as 100,000.

....

Enlace


Saludos...

Al González 28-09-2007 19:55:34

Cita:

Empezado por maeyanes (Mensaje 234803)
Aquí una explicación del bug de Excel 2007:



Enlace


Saludos...

Pues sí, pero lo que nadie ha explicado todavía es cómo un valor de 65,535 puede llegar a ser representado con la cadena 100000, usando un algoritmo que a primera vista parezca correcto (porque supongo así le pareció inicialmente al autor del mismo), pero que en el fondo cause este efecto tan desafortunado.

La otra línea de investigación sería considerar un posible sabotaje.

¿Qué habrá sido realmente?

Sesenta y cinco mil abrazos.

Al González. :)

maeyanes 28-09-2007 20:07:39

Si lees el artículo completo, Joel explica a que se debe... es algo relacionado a la representación en binario de los números de punto flotante, según el estándar IEEE 754...

Ahora, en el mismo artículo comenta Joel que el valor 65,535 ingresado directamente en una celda se muestra correctamente... pero el resultado de la multiplicación 77.1*850, el cual debe ser 65,535 exacto, en realidad es un valor muy cercano a 65,535 y es el que dispara el bug de presentación... ya se... mucho rollo... xDDDD


Saludos calculados... (:p)

Al González 28-09-2007 20:14:09

Pero el mismo Joel confiesa que no tiene ni idea:

Cita:

Empezado por Joel Spolsky
...Q: What caused the bug?

A: I'm not sure exactly, since I don't have the code. Off the top of my head, I can't think of anything that would cause this behavior...


maeyanes 28-09-2007 20:18:32

Ya... xDDD

Pasé en alto la respuesta a esa pregunta, y todo por como explica en detalle el comportamiento del bug, más como bien pregunta, no sabe en realidad que lo causa...


Saludos... :)

Al González 28-09-2007 20:25:28

Cita:

Empezado por maeyanes (Mensaje 234831)
...no sabe en realidad que lo causa...

¡Exacto! Es que no me explico qué algoritmo, por más sofisticado que sea, pueda convertir un 65535 en 100000 sin algo de verdadera malicia de por medio. :rolleyes:

maeyanes 28-09-2007 20:39:03

Cita:

Empezado por Al González (Mensaje 234837)
¡Exacto! Es que no me explico qué algoritmo, por más sofisticado que sea, pueda convertir un 65535 en 100000 sin algo de verdadera malicia de por medio. :rolleyes:

Bueno, en realidad el problema es cuando el número internamente es muy cercano a 65,535, no con 65,535 en si...


Saludos...

egostar 28-09-2007 20:40:45

Cita:

Empezado por Al González (Mensaje 234837)
¡Exacto! Es que no me explico qué algoritmo, por más sofisticado que sea, pueda convertir un 65535 en 100000 sin algo de verdadera malicia de por medio. :rolleyes:

Yo solo se que no se nada, pero se más que el que no sabe que no sabe nada.....:D:D:D:D

Salud OS

Al González 28-09-2007 20:47:33

Lo único que se me ocurre ahora —sin considerar la hipótesis del sabotaje— es una posible confusión con el BCD de parte de algún programador. :confused:

gmontes 29-09-2007 17:20:22

yo creo que no existe ningun error, solo se trata de la nueva propuesta de microsoft de un nuevo estandar en las matematicas.


esta propuesta veran que la hace llegar a la Real Sociedad Matematica Española, solo esta preparando el camino con excel 2007.


:D:D:D


La franja horaria es GMT +2. Ahora son las 04:02:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi