top | item 11273859

MySQL 1 – 1 = 18446744073709551615

1 points| jakejake | 10 years ago |verysimple.com

3 comments

order

gregjor|10 years ago

Good reminder. Not specific to MySQL, though. This happens in many languages that have unsigned integers. The underlying bit pattern resulting from twos-complement arithmetic is the same for signed and unsigned arithmetic, but when interpreted as unsigned you get one more high bit instead of that bit representing the sign: 0 for positive, 1 for negative.

coreyp_1|10 years ago

Shouldn't that be "0 - 1"?

"1 - 1" will correctly be computed as "0".

jakejake|10 years ago

You're right, typo in the title!