1 #include <stdio.h>
2 
key_to_index(key)3 int key_to_index(key)
4 char key;
5 {
6   if ( key >= '0' && key <= '9' )
7       return (int)(key - '0');
8   else if ( key >= 'a' && key <= 'c' )
9       return (int)(key - 'a') + 10;
10   else if ( key >= 'e' && key <= 'f' )
11       return (int)(key - 'e') + 13;
12   else return -100;
13 }
14 
index_to_key(index)15 char index_to_key(index)
16 int index;
17 {
18   if ( index >= 0 && index <= 9 )
19       return (char)(index + '0');
20   else if ( index >= 10 && index <= 12 )
21       return (char)(index - 10 + 'a');
22   else if ( index >= 13 && index <= 14 )
23       return (int)(index - 13 + 'e');
24   else
25       /* huh? */
26       return '?';
27 }
28 
main()29 main()
30 {
31   int i;
32   for ( i=0; i<16; i++ )
33   {
34     printf( "%d ==> %c:%d\n",
35            i, index_to_key(i), key_to_index(index_to_key(i)) );
36   }
37 }
38