This was an attempt to see how small I could make a decoder of base-26 numbers, encoded in ASCII uppercase. Answer: 58 characters. Can this be improved?
/* Code golf, from http://www.reddit.com/r/programming/comments/brsd0/use_the_right_tool_for_the_job/c0o9dii */ s;main(c){while(c=getchar()+1)s=26*s+c-66;printf("%d",s);} Example usage: : kra...@inexorable:~/devel/inexorable-misc ; gcc base26.c -o base26 base26.c:2: warning: data definition has no type or storage class base26.c: In function ‘main’: base26.c:2: warning: incompatible implicit declaration of built-in function ‘printf’ : kra...@inexorable:~/devel/inexorable-misc ; echo -n 'AA' | ./base26; echo 0 : kra...@inexorable:~/devel/inexorable-misc ; echo -n 'BA' | ./base26; echo 26 : kra...@inexorable:~/devel/inexorable-misc ; echo -n 'ASDF' | ./base26; echo 12251 This software is available via git clone http://canonical.org/~kragen/sw/inexorable-misc.git (or in <http://canonical.org/~kragen/sw/inexorable-misc>) in the file `base26.c`. Like everything else posted to kragen-hacks without a notice to the contrary, this software is in the public domain. -- To unsubscribe: http://lists.canonical.org/mailman/listinfo/kragen-hacks