Hexadecimal is broken
I have a problem with Hexadecimal, specifically, the choice of digits. ABCDEF after the standard arabic numerals is a poor choice, because it reverses the usual parity of the letters. A is odd, B is even, and so on, but in hexadecimal they are the opposite. So far as I'm concerned, F is 16, not 15. 0x7fff doesn't look right. My mind reads it as 0x8000.
Therefore, to alleviate this perceived inconsistency, I have selected my own set of digits. In this system, X is used to represent 10, since it's a familiar symbol for 10 from the roman numeral and it has even parity. A-E represent 11-15.
Here's some examples - I'm using 1x as the prefix here.
1xEE == 0xFF
1xX00 == 0xA00
1xE + 1x1 == 1x10
1xD + 1x1 == 1xE
1xFF // invalid - if it weren't, it would be 16
Unfortunately, I doubt many others will use this, simply because the traditional digit set for hexadecimal is so ingrained now. Furthermore, it takes some effort to unlearn it. Still, I have some hope.
This blog post was originally located at http://ajf.me/blog/archive/2012-03-31-hexadecimal.html. Today (2015-07-25) I happened to discover this when looking through my archived old website. I'm republishing this on my new blog.