Probando Calculadoras

Probablemente este sea uno de los posts más infantiles que vaya a escribir en este blog, sin embargo, me apecete hacerlo. Antes de nada, me gustaría indicar que no tengo nada en contra de KDE, ni de Microsoft. No estoy en contra de la informática: es una de mis pasiones y coincide además con lo que me gano la vida. Lo que sí estoy en contra es de aquella gente que habla sin fundamento y son unos extremistas cual sea el bando (Freetards (1), Microsofties (2))

Pero entremos en materia. El otro día aburrido estudiando estadística no se me ocurrió mejor cosa que hacer Testing con la calculadora de Windows: esa gran desconocida. Pensé en que sería divertido hacerla sufrir, encontrar quizás algo que fuera a crear un desbordamiento de memoria y que el proceso muriera… que se yo. Cualquier cosa con tal de poder escribir en mi blog: ¡La calculadora de Windows falla! y así que me linkaran desde barrapunto XD.

Después de probar las más variopintas maldades, me he topado con esto:
Windows Vista Calculator
Si intentas calcular (((3!)!)!)!, a los 5 ~ 10 segundos te indica que la operación va a tardar mucho (de hecho, podría tardar perfectamente 100 años). En ningún momento esperé que la calculadora de Windows viniese provista de un sistema detector de bloqueos.

A su prima lejana KCalc en KDE no le pasa lo mismo. Si hacemos este test sobre la calculadora nos ocurre esto:
KCalc
(Imagen facilitada por Félix Robles, que ahora mismo yo no quería arrancar en linux)

Como veis: el proceso simplemente se cuelga. No se ha tenido en cuenta que podrían ocurrir este tipo de cosas. (La verdad, no se si enviar un bug report. Lo pensaré :P)

Pero siguiendo en la misma linea de “rompamos la calculadora de Windows Vista”, he encontrado algo que podría ser interesante. Llamarlo bug sería impreciso, casi injusto. Digamos que no se nos dice nada al respecto.

Si realizamos el mismo experimento (((3!)!)!)! en la calculadora, pero cambiamos el módo a Hexadecimal y el tamaño de palabra a QWORD, obtenemos lo siguiente:

3! = 6
(3!)! = 2D0(16 = 720(10
((3!)!)! = 0
(((3!)!)!)! = 1

Inquietante, ¿no? Respecto a esto, la calculadora no dice absolutamente nada. No muestra un MessageBox advirtiendo que se ha producido un Overflow a la hora de hacer el cálculo, ni nada que se le parezca. Se queda tan “pancha”.

Sin embargo, si acudimos a la ayuda, encontramos esto:

What happens when I perform calculations with large numbers?
In the hexadecimal, binary, and octal number systems, Calculator displays only the lower digits of an answer when the result has more digits than your display size allows. This behavior mimics the way calculations work in computers.

For the hexadecimal number system, QWORD results can contain up to 16 digits (64 bits), DWORD results can contain up to eight digits (32 bits), Word results can contain up to four digits (16 bits), and Byte results can contain up to two digits (8 bits).

For example, using the hexadecimal number system displayed as Word, the largest result you can generate is FFFF (equal to 65535 in decimal). If you double that number (FFFFx2), the answer is 1FFFE. This contains five digits, so Calculator will display only the lower four digits of the answer: FFFE.

For the decimal number system, the three display sizes available are Degrees, Radians, and Grads.

¿Pero quién se lee la ayuda? ¡¡¡Nadie!!! Así que, ¿para qué engañarnos? :P

Advertisement

1 Response to “Probando Calculadoras”



Comments are currently closed.



About me


My name is Rafa Vargas. I'm an undergraduate student of Computer Science at University of Seville, Spain. I am mainly interested in computer security, usability and the business of software.

Click here to read the full story.

Twitter subscription

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 6 other followers

Archives


Follow

Get every new post delivered to your Inbox.