Una de mis diapositivas de las clases da un ejemplo de desbordamiento aritmético y llevar en un tema de banderas bifurcación condicional en un chip de ARM, se cita a continuación:desbordamiento aritmético vs aritmética Realizar
- V (desbordamiento) - 7FFFFFFF 1
- C (carry) - FFFFFFFF + 1
Presumiblemente por el bien de la ejemplo, la dirección sólo puede contener 8 bytes. Así que, para mí, parece que me gusta agregar 1 a 7FFFFFFF da 80000000. Pensé que 80000000 encajaría en una dirección de 8 bytes.
¿Por qué es esto un desbordamiento aritmético? ¿Es el camino equivocado en la diapositiva? ¿O es mi entendimiento defectuoso?
Gracias por cualquier respuesta
Desborda un entero con signo. 0x80000000 es el mayor valor posible * negativo * en la aritmética de complemento de dos de 64 bits (en lugar de uno de 0x7fffffff). – falstro
@falstro, eso es 32 bit :) – sgupta
@ user1075375 Sí, lo sé. Debe haber sido baja en cafeína. :) – falstro