2012-02-09 8 views
20

Uno de nuestros probadores, logró establecer una variable de límite deslizante en 18888888888888888, que solo puede tomar valores entre 1-100 normalmente. (Puedo observarlo en el modelo de vista que se guarda en un archivo xaml). ¿Qué tiene de especial este número?misterioso número 18888888888888888

Aquí hay algunos detalles. La aplicación tiene un control deslizante, está vinculada a una propiedad observable en un modelo de vista. Normalmente, cuando la aplicación guarda el espacio de trabajo, este modelo de vista se guarda utilizando XamlServices.Save. Mi probador reportó un comportamiento incómodo, el valor del control deslizante muestra -214 al cargar este proyecto. Le pedí que me enviara el archivo y el valor en el xaml guardado contiene mi número misterioso.

Sé que esto es el resultado de un error en mi código, o algún otro código de biblioteca. Esperemos que lo bloquee. Sin embargo, los valores normales de "basura" no pueden ser así. Cuando busco en Google, veo algunas páginas no relacionadas con la programación, que de alguna manera muestran que este número se generó en la historia de Internet (por lo que no es de mi gato). En resumen, estoy tratando de averiguar cómo se puede crear este número en primer lugar, como cuando ve INT_MAX + 1, si tiene la experiencia suficiente, puede reconocerlo (¿alguien? -2137483648?).

+1

¿No puedes preguntarle a tu tester? – balexandre

+5

@KorayBalci: ¿Puedes repro? Cerrado porque realmente no hay una respuesta definitiva, por lo tanto, todo lo que queda es especulación. – Will

+1

@SLC y Will, no sé si no estoy lo suficientemente claro, probablemente este es el resultado de un error, un desbordamiento muy probablemente. Intentaré reproducir y depurar. Sin embargo, no puede decirme que esto es solo un número aleatorio, un 1 seguido de 16 8? Debe ser un efecto secundario de un error, pero tengo curiosidad de cómo se puede producir. Solo busca el número en google, hay algunas ocurrencias extrañas, probablemente resultado de un error similar (y sus autores probablemente ni siquiera estén al tanto del problema). O bien, solo estoy buscando y publicando un número incómodo por diversión, pero este no es un número aleatorio ordinario. Espero que esté claro. – mentat

Respuesta

2

Suponga que el 1 al principio es un marcador de posición: un error al mostrar un doble en la cadena.

Tenemos 16 8's. El tipo doble en C# tiene hasta 16 bytes de precisión. Esto puede indicar que la pantalla del control deslizante está tratando de mostrar algún tipo de valor doble de basura de 8888888888888888 o 0x1000100010001000100010001000100010001000100010001000100010001000.

Puede ser que el probador haya causado que el valor del doble se convierta en algún tipo de valor NaN. (tal vez NaN se muestra así) Eso definitivamente explicaría la longitud de la cadena.

También, debido a las restricciones de la pantalla que muestra la clase deslizador sólo números, que era probablemente supone que leer 1x8888888888888888. ¿Basura dentro basura fuera?

Bueno, esa es mi suposición.

+2

gracias por el esfuerzo, lo pensaré, podrías haberlo clavado. ahora la pregunta está cerrada nuevamente. después de todos estos upvotes y discusiones, algunas personas simplemente decidieron en nombre de nosotros y de todos los demás ...gracias a los oficiales por proteger a las personas de situaciones extraordinariamente limitadas. vamos a discutir cómo podemos reproducir un sonido en el iPhone. – mentat

Cuestiones relacionadas