Dépassement de capacité arithmétique vs Arithmétique à Effectuer

L'une de mes conférences diapositives donne un exemple de dépassement de capacité arithmétique et de la transporter dans une rubrique pour les branchements conditionnels drapeaux sur un BRAS de la puce, cité ci-dessous:

  • V (dépassement de capacité)
    - 7FFFFFFF+1
  • C (carry)
    - FFFFFFFF+1

Sans doute pour le bien de l'exemple, l'adresse ne peut contenir de 8 octets. Donc, pour moi, il semble aime l'ajout de 1 à 7FFFFFFF donne 80000000. J'ai pensé 80000000 s'inscrivent toujours dans une 8 octets de l'adresse.

Pourquoi est-ce un dépassement de capacité arithmétique? Est-il à l'envers sur la diapositive? Ou est ma compréhension erronée?

Merci pour les réponses

Vous débordement d'un entier signé. 0x80000000 est le plus grand possible négative valeur de 64 bits en complément à deux de l'arithmétique (plutôt que d'un 0x7fffffff).
c'est 32 bits 🙂
ouais, je sais. Doit avoir été faible sur la caféine. 🙂

OriginalL'auteur eggonlegs | 2011-06-07