Excel 2007 es un error importante: 850 × 77.1 = 100000

  


Hay un error importante en Excel 2007 que calcula incorrectamente 850 * 77.1 como 100000 en lugar de 65535.

Por supuesto, 850 * 77.1 no es un caso especial. No creo que pueda calcular las siguientes multiplicaciones en Excel 2007:

= 5.1 * 12850

= 10.2 * 6425

= 20.4 * 3212.5

= 40.8 * 1606.25

= 154.2 * 425

= 212.5 * 308.4

= 308.4 * 212.5

= 425 * 154.2

¿El resultado es 100000?

Este BUG se mencionó por primera vez en un informe sobre un grupo de noticias de Microsoft Group Excel en el grupo de Google. Esta pregunta fue confirmada rápidamente por varios expertos, y el MVP de Excel Bernad Leingme fue el primero en levantarse.


De hecho, el problema aparece en el número 65535. Aunque todavía no puedo estar seguro de cuál es el motivo, pero considerando la particularidad del número 65535 (convertido a binario es 1111111111111111111, un entero sin signo de 16 bits puede representar el valor máximo), inicialmente sospechoso de Excel 2007 en el cálculo de punto flotante o Hubo un error en el error. Además, se puede ver que al menos un número en la fórmula de multiplicación del error tiene un lugar decimal.

Además, si una de las multiplicaciones anteriores se coloca en la celda A1, A1 + 1 devolverá 10001, A1 * 1 devolverá 100000 y A1 /1 devolverá 100000. Indudablemente, están equivocados, porque Excel 2007 ya ha medido el valor de A1 como 100000, pero lo extraño es que A1 * 2 devuelve el 131070 correcto, A1-1 también es 65534, y A1 /2 se obtiene con precisión. 32767.5. La volatilidad de Excel 2007 es realmente difícil de recordar.


La prueba también mostró que la versión anterior de Office 2000 /XP /2003 no tiene este error, parece que es solo la nueva "patente" de Office 2007.

La aparición de este tipo de errores de bajo nivel, el desarrollo y la revisión del personal de Microsoft no es riguroso, al menos se puede decir que son cien secretos, especialmente la versión antigua del producto no es un problema, sin duda hará que Microsoft sea más embarazoso.

Copyright © Conocimiento de Windows All Rights Reserved