Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Noticias
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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...
Responder Con Cita
  #2  
Antiguo 28-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por maeyanes Ver Mensaje
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.
Responder Con Cita
  #3  
Antiguo 28-09-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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... ()
Responder Con Cita
  #4  
Antiguo 28-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

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...
Responder Con Cita
  #5  
Antiguo 28-09-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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...
Responder Con Cita
  #6  
Antiguo 28-09-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por maeyanes Ver Mensaje
...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.
Responder Con Cita
  #7  
Antiguo 28-09-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
¡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.
Bueno, en realidad el problema es cuando el número internamente es muy cercano a 65,535, no con 65,535 en si...


Saludos...

Última edición por maeyanes fecha: 28-09-2007 a las 20:41:50.
Responder Con Cita
  #8  
Antiguo 28-09-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Al González Ver Mensaje
¡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.
Yo solo se que no se nada, pero se más que el que no sabe que no sabe nada.....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lanzamiento Delphi 2007, PHP y JBuilder 2007 R2 Santiago - Chile Andreano Noticias 4 14-05-2007 09:25:23
Multiplicacion de dos campos dentro de un order by... mcalmanovici SQL 5 31-01-2007 18:21:07
Multiplicacion por un flotante Anotherlife Varios 2 22-07-2004 09:51:19
Valor de DBEdit a partir de la multiplicación de otros dos RyAr Conexión con bases de datos 8 09-07-2004 17:14:26
Realizar una multiplicacion en una consulta muli SQL 2 19-06-2003 19:44:32


La franja horaria es GMT +2. Ahora son las 02:00:29.


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
Copyright 1996-2007 Club Delphi