I was reading in the C99 standard about the usual arithmetic conversions.
If both operands have the same type, then no further conversion is needed.
0x0000000a plus 0xfffffffb will always be 0x00000005 regardless of whether you are dealing with signed or unsigned types, as long as only 32 bits are used.
0x0000000a
0xfffffffb
0x00000005