I find the wording somewhat peculiar:
&#x27;the resulting address will change dramatically, by (4 - 2^(32+2)). In 32-bit mode (all addresses modulo 2^32), this is just an increase by 4
as usual; the &quot;wraparound&quot; part is a multiple of 2^32 and hence invisible&#x27;<p>Why would it matter that the address will change &quot;dramatically&quot;? Even if it didn&#x27;t (and only change by say 16 bytes or whatever) you&#x27;d have to deal with it. The problem is that int overflows at 2^31 while long&#x2F;a larger type doesn&#x27;t. In order to cope with the overflow you&#x27;ll have to &quot;simulate&quot; an overflow in the larger type as well (or at least do what the smaller type does) which is achieved via a sign-extend.