¿Qué pasa con esto, de todos modos? Hago una simple multiplicación:¿No debería esto causar un desbordamiento? ¡No lo hace!
Int64 x = 11111111111;
Int64 y = 11111111111;
Int64 z = x * y;
Y al final de la multiplicación, z muestra un valor de:
-5670418394979206991
Esto se ha desbordado con claridad, pero se plantea no es una excepción. Me gustaría que uno se críe, pero ...
Tenga en cuenta que esto es en Windows Phone 7, pero no creo que esto tenga relación con el problema. O lo hace?
Tenga en cuenta que la razón por la que no se selecciona es la predeterminada porque (1) el 99% de las veces la aritmética entera no está cerca de los límites, y (2) la aritmética comprobada es MUCHO más lenta. Este es uno de los pocos casos en que el diseño de C# elige peligrosamente por defecto por motivos de rendimiento. –
El jitter x86 usa un jno simple, la predicción de bifurcación siempre es buena, no puede costar más que un solo ciclo. –
No es necesariamente relevante para el diseño de C#, pero en este caso específico estamos hablando de ARM. El comportamiento del jitter x86 es algo académico – Stewart