Oh I didnt know that. I just assumed thats how it was done since.. well.. that would make sense, but theres probably some incapability (or less efficiency) for doing it that way (in the details).
-i doesn't change just one bit, because while the last bit determines the sign, flipping it does not flip the sign. Usually, to flip the sign, you need to bitwise flip the integer and then increment. At least that's one way it can be done. Of course a processor might have an instruction that does this faster than bitwise flipping the integer and then incrementing, but I don't know anything about what instructions processors have.