Preguntas etiquetadas con integer-overflow

El desbordamiento de enteros se produce cuando el resultado de una operación es mayor que el valor máximo que puede representar el tipo de entero subyacente.


4
(-2147483648> 0) devuelve verdadero en C ++?
-2147483648 es el número entero más pequeño para el tipo entero con 32 bits, pero parece que se desbordará en la if(...)oración: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Esto se imprimirá trueen mis pruebas. Sin embargo, si lanzamos -2147483648 a entero, el resultado será diferente: …




15
Cómo evitar el desbordamiento en expr. A B C D
Necesito calcular una expresión que se vea así: A*B - C*Ddonde están sus tipos: signed long long int A, B, C, D; cada número puede ser realmente grande (sin desbordar su tipo). Si bien A*Bpodría causar un desbordamiento, al mismo tiempo, la expresión A*B - C*Dpuede ser realmente pequeña. ¿Cómo …
161 c++  c  integer-overflow 




8
Reparto eficiente sin firmar para evitar el comportamiento definido por la implementación
Quiero definir una función que tome un unsigned intargumento como y devuelva un intmódulo congruente UINT_MAX + 1 al argumento. Un primer intento podría verse así: int unsigned_to_signed(unsigned n) { return static_cast<int>(n); } Pero como sabe cualquier abogado de idiomas, la conversión de valores sin firmar a firmados para valores …





5
Java Integer compareTo () - ¿por qué usar comparación frente a resta?
Descubrí que la java.lang.Integerimplementación del compareTométodo se ve de la siguiente manera: public int compareTo(Integer anotherInteger) { int thisVal = this.value; int anotherVal = anotherInteger.value; return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1)); } La pregunta es por qué usar la comparación en lugar de la resta: return …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.